![](/img/trans.png)
[英]how WebDriver driver = new FirefoxDriver() works internally?
[英]WebDriver driver=new FirefoxDriver() is this compile-time or runtime binding?
看起來我對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()
是后期綁定的示例。
WebDriver driver=new FirefoxDriver()
是編譯時綁定還是運行時綁定?
那是在編譯時綁定到名為FirefoxDriver
的類。 它將使用classpath中的任何FirefoxDriver
類。 這與Java獲得的編譯時間差不多,因為Java在編譯時和運行時都從類路徑進行工作。
這是運行時綁定的示例:
String driverName = /*...get the name from somewhere, like a properties file...*/;
WebDriver driver = Class.forName(driverName).newInstance();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.