1. What is difference between below two ways of instantiating FirefoxDriver
a. WebDriver driver = new FirefoxDriver();
Answer: What i understood,WebDriver is interface. So in this case firefoxdriver will use the functions defined in WebDriver along with its own methods
b. FirefoxDriver driver = new FirefoxDriver();
Answer: In this case Firefox driver can only implement its own method
@Ashish: Pls confirm if answer is correct or not
1. What is difference between below two ways of instantiating FirefoxDriver
a. WebDriver driver = new FirefoxDriver();
b. FirefoxDriver driver = new FirefoxDriver();
Answer:- For the First case reference variable is interface i.e WebDriver, So in this case only methods which are defined in WebDriver interface and implemented in FireFoxDriver can be used, we cant use extra methods defined FirefoxDriver. Also we use reference variable as interface to minimize memory consumption due to multiple object creation with separate instance variables.
In the second case we can use both methods i.e inheritance and extra methods in the class.
2. Why do we do implement FUNCTION OVERRIDDING ?
We use method overriding to implement more specific functionality related to class.