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

Popular posts from this blog

Inner classes

Inner Classes:- class inside class or interface called inner class or nested class. Advantage of inner classes is grouping multiple classes and interfaces into a single class. Another big advantage of inner class is that inner class can happily access all the data or variables of outer class directly. Types of Nested classes:- There are two types of nested classes static and non-static nested classes. (A)Non –static inner classes:- 1)     Member inner class 2)     Anonymous inner class 3)     Local inner class (B)Static nested class Example1:-Outer.java class Outer { class Inner { void disp() { System.out.println("Hello This is Inner class Method"); } } public static void main(String[]args) { Inner in=new Inner(); in.disp(); } } Output:- C:\JAVATECH>javac Outer.java Outer.java:12: error: non-static variable this cannot be referenced from a static context Inner in=new Inner(); ...

Inheritance-4

Example10:- class Student { Student() { System.out.println("This is super class Zero argument constructor"); } Student(String s) { System.out.println("This is super class One argument constructor"); } } class Test extends Student { Test() { super(null); System.out.println("This is sub class Zero argument constructor"); } public static void main(String[]args) { Test t=new Test(); } } Output:- C:\JAVATECH>javac Test.java C:\JAVATECH>java Test This is super class One argument constructor This is sub class Zero argument constructor Example11:- class Student { Student() { System.out.println("This is super class Zero argument constructor"); } Student(String s) { System.out.println("This is super class One argument constructor"); } } class Test extends Student { Test() { super(); super(null); System.out.println("This is su...

Regarding class files

Class files:- Regarding class file or dot class file also known as byte code of class, in a java programming language we can use any number of classes in our program. After compilation all classes convert into individual   .class   file. Example:- class A { } class B { } class C { } class Student { public static void main(String[]args) { System.out.println("Well-come to my java blog"); } } We can save above program to any   classname.java   or we can use any other   name.java,   there is no compulsion for java file name. But recommended to save by that class name which having main method. I saved the above file to   Student.java   name .   Before compilation my   C:\JAVATECH   folder contain only one java file. Student.java For  compilation. C:\JAVATECH>javac  Student.java After compilation   my   C:\JAVATECH   folder contains five files, on...