Selenium-CoreJava Interfaces in JAVA!!!!

1:12 AM 0 Comments












Objective: Find out the reusable methods and create a super class for all the browsers like IE,FF,CH.

public abstract class WebDriver
{

public abstract void openBrowser(String url);

public abstract void closeBrowser();

}

Interface Definition:
-----------------------------

If the class contains 100% abstract methods then the class is defined as interface.
public interface WebDriver
{

public void open(String url);

public void close();

}
1. An interface contains 100% abstract methods.
2. In interface methods are by default public and abstract.

public interface WebDriver
{

void open(String url);

public abstract void close();

}
3. In interface, variables are 'public static final' by default.

public ->Accessible everywhere
static->Classname.variable
final->Constant. Once intialized we cannot re-assign the new value;

4. The final variables in interface are intialized at the time of declaration.
int i;//declaration
i=10;//intialization or Assignment

int i =10;//Declaration and intialization.

5.A class uses an interface should use an keyword called 'implements'.


IE,FF,CH

public class IEDriver implements WebDriver
{
void open(String url){}
public void close(){}
}

public class FFDriver implements WebDriver
{
void open(String url){}
public void close(){}
}

public class CHDriver implements WebDriver
{
void open(String url){}
public void close(){}
}

6. A class can implement multiple interfaces, but extends only one class at a time.

   A interface extends an another interfaces

7. A class together can use implements and extends keywords together.

public class ThreadEx extends ClassB implements Runnable,InterfaceA
{

}

If a class is implementing an interfaces then we can write as follows:

InterfaceName refV = new ClassName();

WebDriver      driver = new FFDriver();

driver.open("http://www.google.com");
driver.close();


final variables are constants
--------------------------------------
public final int i =20;
i=10;// not possible i is final

final classes cannot be extended
----------------------------------------
public final class String
{
}
public class A extends String// cannot extend an final class
{

}
final methods cannot be overriden
--------------------------------------------
public final void equals()
{


}
@Override:
-------------------
Whenever the same method name with same parameters available in the super class and 
subclass or interface and subclasses.. those methods are overriden methhods.
@Override is an annotation which is an special instruction to the compiler.

Unknown

This site creates a platform to become an expert by gaining knowledge of unknown real-time issues as well.

0 comments: