Skip to main content

Interface-5

Example16:-    TestMain.java

interface A
{
void disp();
}
class Test implements A
{
public void disp()
{
System.out.println("Implemented method");
}
}
class TestMain
{
public static void main(String[]args)
{
Test t=new Test();
t.disp();
}
}

Output:-
C:\JAVATECH>javac TestMain.java
C:\JAVATECH>java TestMain
Implemented method

Example17:-    TestMain.java

interface A
{
void disp();
}
class Test implements A
{
public void disp()
{
System.out.println("Implemented method");
}
}
class TestMain
{
public static void main(String[]args)
{
A t=new Test();
t.disp();
}
}

Output:-
C:\JAVATECH>javac TestMain.java
C:\JAVATECH>java TestMain
Implemented method
Explanation: - we cannot create object of interface but interface reference variable can hold object of implemented class.


Example18:-    TestMain.java

interface A
{
void disp();
}
class Test implements A
{
public void disp()
{
System.out.println("Implemented method");
}
}
class TestMain
{
public static void main(String[]args)
{
A t=new Test();
t.disp();
}
}

Output:-
C:\JAVATECH>javap TestMain
Compiled from "TestMain.java"
class TestMain {
  TestMain();
  public static void main(java.lang.String[]);
}
C:\JAVATECH>javap Test
Compiled from "TestMain.java"
class Test implements A {
  Test();
  public void disp();
}

Example19:-    TestMain.java

interface A
{
void disp();
void show();
}
abstract class Test1 implements A
{
public void disp()
{
System.out.println("Implemented disp method ");
}
}
class Test2 implements A
{
public void show()
{
System.out.println("Implemented show method ");
}
}
class TestMain
{
public static void main(String[]args)
{
A t=new Test();
t.disp();
t.show();
}
}

Output:-
C:\JAVATECH>javac TestMain.java
TestMain.java:13: error: Test2 is not abstract and does not override abstract method disp() in A class Test2 implements A
^
1 error
Explanation: -Implemented class must override all interface methods.

Example20:-TestMain.java

interface A
{
void disp();
void show();
}
abstract class Test1 implements A
{
public void disp()
{
System.out.println("Implemented disp method ");
}
}
class Test2 extends Test1
{
public void show()
{
System.out.println("Implemented show method ");
}
}
class TestMain
{
public static void main(String[]args)
{
A t=new Test1();
t.disp();
t.show();
}
}
Output:-
C:\JAVATECH>javac TestMain.java
TestMain.java:24: error: Test1 is abstract; cannot be instantiated
A t=new Test1();
    ^
1 error
Explanation: -Implemented class must override all interface methods otherwise class must be abstract and remaining all abstract method must be overridden in the next level extended class.

Example21:-TestMain.java

interface A
{
void disp();
void show();
}
abstract class Test1 implements A
{
public void disp()
{
System.out.println("Implemented disp method ");
}
}
class Test2 extends Test1
{
public void show()
{
System.out.println("Implemented show method ");
}
}
class TestMain
{
public static void main(String[]args)
{
A t=new Test1();
t.disp();
t.show();
}
}

Output:-
C:\JAVATECH>javac TestMain.java
C:\JAVATECH>java TestMain
Implemented disp method
Implemented show method

Example22:-TestMain.java

interface A
{
int a=100;
void disp();
void show();
}
abstract class Test1 implements A
{
public void disp()
{
System.out.println("Implemented disp method Value of a="+a);
}
}
class Test2 extends Test1
{
public void show()
{
System.out.println("Implemented show method Value of a="+a);
}
}
class TestMain
{
public static void main(String[]args)
{
A t=new Test2();
System.out.println("In main method Value of a="+t.a);
t.disp();
t.show();
}
}
Output:-
C:\JAVATECH>javac TestMain.java
C:\JAVATECH>java TestMain
In main method Value of a=100
Implemented disp method Value of a=100
Implemented show method Value of a=100


Example23:-TestMain.java

interface B
{
int a=100;
void disp();
void show();
}
interface A extends B
{

}
abstract class Test1 implements A
{
public void disp()
{
System.out.println("Implemented disp method Value of a="+a);
}
}
class Test2 extends Test1
{
public void show()
{
System.out.println("Implemented show method Value of a="+a);
}
}
class TestMain
{
public static void main(String[]args)
{
A t=new Test2();
System.out.println("In main method Value of a="+t.a);
t.disp();
t.show();
}
}

Output:-
C:\JAVATECH>javac TestMain.java
C:\JAVATECH>java TestMain
In main method Value of a=100
Implemented disp method Value of a=100
Implemented show method Value of a=100

Example24:-TestMain.java

interface B
{
int a=100;
void disp();
}
interface A extends B
{
void show();
}
abstract class Test1 implements A
{
public void disp()
{
System.out.println("Implemented disp method Value of a="+a);
}
}
class Test2 extends Test1
{
public void show()
{
System.out.println("Implemented show method Value of a="+a);
}
}
class TestMain
{
public static void main(String[]args)
{
A t=new Test2();
System.out.println("In main method Value of a="+t.a);
t.disp();
t.show();
}
}

Output:-
C:\JAVATECH>javac TestMain.java
C:\JAVATECH>java TestMain
In main method Value of a=100
Implemented disp method Value of a=100
Implemented show method Value of a=100


Comments