interface X{
void m1();
void m2();
}
class Child2 extends Object implements X {
public void m1(){
System.out.println("Child2 M1");
}
public void m2(){
System.out.println("Child2 M2");
}
}
public class ParentChildInfterfaceDemo {
public static void main(String[] args){
X x = new Child2();
X x1 = new Child2();
x.m1();
x.m2();
x.equals(x1);
}
}
Will the above code work?
If yes? Can you please explain why the code
x.equals(x1) will work as the equals method is called on
interface reference vaiable?
Answer Posted / satish
this code is working.because of the reason is interface reference variable is store address of implemented class objects like
X x=new Child2{}
X x1=new Child2{}
above code means create two reference variables are created to interface and store address of implemented class objects.
actually equals method is using compare two strings.
but this senario
x.equals(x1) compare the two objects references .above code returns false
| Is This Answer Correct ? | 4 Yes | 0 No |
Post New Answer View All Answers
What are inner classes or non static nested classes in java?
Write a java program to print fibonacci series?
what is the use of bean managed and container managed with example?
Can a class with private constructor be extended?
Can we override the static methods?
Is it possible to define a method in java class but provide it’s implementation in the code of another language like c?
What are loops in java? What are three types of loops?
What is an eror in java?
What is java used for?
Is java good for beginners?
What is a literal coding?
Why are global variables used?
What is default locale java?
Why does java not support operator overloading?
Which command from the jdk compiles a java program?