看起来我对我的核心Java概念感到有些困惑。请看下面的内容。
class A{
public void func1()
{
System.out.println("Hello A");
}
}
class B extends A{
public void func1(){
System.out.println("Hello B");
}
}
class C {
public static void main( String args[]) {
A myobj = new B();
myobj.func1();
}
}
我们知道Webdriver是一个界面& FirefoxDriver是Webdriver的实现类,因此基于上面的示例,假设语句:WebDriver driver=new FirefoxDriver()
是后期绑定的示例是正确的。
答案 0 :(得分:1)
WebDriver driver=new FirefoxDriver()
是编译时绑定还是运行时绑定?
这是对名为FirefoxDriver
的类的编译时绑定。它将使用类路径中的任何FirefoxDriver
类。这与Java获得的编译时间差不多,因为Java在编译时从类路径运行,也在运行时运行。
以下是运行时绑定的示例:
String driverName = /*...get the name from somewhere, like a properties file...*/;
WebDriver driver = Class.forName(driverName).newInstance();