JAVA Programming :: Basic Concepts - Discussion
47 / 64
public class Base {
public void method(int i) {
System.out.println("Base class Value is" + i);
}
}
public class Sub extends Base {
public void method(int j) {
System.out.println("Sub class Value is" + j);
}
public static void main(String args[]) {
Base b1 = new Base();
Base b2 = new Sub();
b1.method(5);
b2.method(6);
}
}
public class Base {
public void method(int i) {
System.out.println("Base class Value is" + i);
}
}
public class Sub extends Base {
public void method(int j) {
System.out.println("Sub class Value is" + j);
}
public static void main(String args[]) {
Base b1 = new Base();
Base b2 = new Sub();
b1.method(5);
b2.method(6);
}
}
ABase class Value is 5 Sub class Value is 5
BBase class Value is 5 Sub class Value is 6
CBase class Value is 6 Sub class Value is 6
DNone
Show Explanation
On the other hand, line no. 12 i.e, Base b2=new Sub(); we have created an object of Sub class but it's reference is of Base class. In such a case when b2.method(6); is invoked, Sub class method gets invoked, and we get the output as Sub class value is 6.
Asked In ::
In line no. 11 i.e, Base b1=new Base(); we have created an object of Base class and it's reference is also of Base class. In such a case when b1.method(5); is invoked, Base class method is invoked and we gets an output as Base class value is 5.
On the other hand, line no. 12 i.e, Base b2=new Sub(); we have created an object of Sub class but it's reference is of Base class. In such a case when b2.method(6); is invoked, Sub class method gets invoked, and we get the output as Sub class value is 6.
Read Full Answer
Report Error
Please Login First Click Here