Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java WebDriver和FirefoxDriver之间的区别_Java_Selenium_Selenium Webdriver_Webdriver - Fatal编程技术网

Java WebDriver和FirefoxDriver之间的区别

Java WebDriver和FirefoxDriver之间的区别,java,selenium,selenium-webdriver,webdriver,Java,Selenium,Selenium Webdriver,Webdriver,我对Selenium WebDriver完全是新手。谁能告诉我有什么不同吗 在这两条线之间 WebDriver driver = new FirefoxDriver(); 及 两者都启动Firefox浏览器。那么为什么我们总是写第一行而不是第二行呢 WebDriver是一个接口 FirefoxDriver就是实现 为了更好地理解,请阅读Java接口上的文档。WebDriver是一个接口 FirefoxDriver就是实现 为了更好地理解,请阅读Java接口上的文档。这就是Java中所谓的静态和

我对Selenium WebDriver完全是新手。谁能告诉我有什么不同吗 在这两条线之间

WebDriver driver = new FirefoxDriver();


两者都启动Firefox浏览器。那么为什么我们总是写第一行而不是第二行呢

WebDriver是一个接口

FirefoxDriver就是实现


为了更好地理解,请阅读Java接口上的文档。

WebDriver是一个接口

FirefoxDriver就是实现


为了更好地理解,请阅读Java接口上的文档。

这就是Java中所谓的静态和动态绑定

你可以用上面的文字在谷歌上搜索,你会得到很多网站

简单地说:

class vehicle
{
 public void print(String str)
 { System.out.println("I am string "+str);}

 public void print(Integer int)
 {System.out.println("I am integer:"+int);}

 public static void main(String[] args)
 {
  vehicle obj=new vehicle();
  obj.print("Hello"); //Then it is clear that it will call first print method i.e String
 } //This is method overloading.
}
这是在编译时决定的。所以静态绑定

另一种情况是:

class vehicle
{
 void start(){System.out.println("Vehicle started");}
}
class car extends vehicle
{
 void start(){System.out.println("Car started");}
}
 public static void main(String[] args)
 {
  vehicle obj=new car();
  obj.start(); //Here it prints Car's start method and is decided at run time so dynamic binding
 }
}

} //This is method overriding
根据你的问题:

WebDriver driver=new FirefoxDriver()   //This is dynamic binding
FirefoxDriver driver=new FirefoxDriver()  //Kind of static binding

这就是Java中所谓的静态和动态绑定

你可以用上面的文字在谷歌上搜索,你会得到很多网站

简单地说:

class vehicle
{
 public void print(String str)
 { System.out.println("I am string "+str);}

 public void print(Integer int)
 {System.out.println("I am integer:"+int);}

 public static void main(String[] args)
 {
  vehicle obj=new vehicle();
  obj.print("Hello"); //Then it is clear that it will call first print method i.e String
 } //This is method overloading.
}
这是在编译时决定的。所以静态绑定

另一种情况是:

class vehicle
{
 void start(){System.out.println("Vehicle started");}
}
class car extends vehicle
{
 void start(){System.out.println("Car started");}
}
 public static void main(String[] args)
 {
  vehicle obj=new car();
  obj.start(); //Here it prints Car's start method and is decided at run time so dynamic binding
 }
}

} //This is method overriding
根据你的问题:

WebDriver driver=new FirefoxDriver()   //This is dynamic binding
FirefoxDriver driver=new FirefoxDriver()  //Kind of static binding

这并不是说你错了,而是不是一个教程网站,这就是为什么正确的答案与另一个答案类似,那就是阅读关于接口和继承的java文档。用户可能不知道这种行为的实际概念。所以我告诉他静态和动态绑定的概念,并请他参考其他网站。为了给他一些概述,我向他解释了这个概念。我希望你理解我的意图。谢谢。这并不是说你错了,但也不是一个教程网站,这就是为什么正确的答案与另一个答案类似,那就是阅读java文档中关于接口和继承的内容。用户可能不知道这种行为的实际概念。所以我告诉他静态和动态绑定的概念,并请他参考其他网站。为了给他一些概述,我向他解释了这个概念。我希望你理解我的意图。谢谢,这不是一个特定于硒的问题,只是Java不是特定于硒的问题,只是Java