Couple of queries:
1.
Given the following classes, defined in same file named SubClass.java
class BaseClass{
static void sayHello(){
System.out.println("Hi pal!!!, I am BaseClass");
}
}
public class SubClass extends BaseClass{
static void sayHello(){
System.out.println("Hi pal!!!, I am SubClass");
}
public static void main(
String [] arg){
BaseClass bc = new SubClass();
bc.sayHello();
}
}
What happens when we compile and run SubClass.java?
A.Does't compile as you cannot override static methods.
B.Compiles but fails at runtime.
C.Compiles and runs successfully with output :
Hi Pal!!!, I am BaseClass
D.Compiles and runs successfully with output :
Hi Pal!!!, I am SubClass
Answer Given:C (Is it because its static??)
I feel D
2.
Given the code, what is the output
public class MyClass{
static int i = 10;
public static void main(String[] arg){
static int i = 20;
System.out.println("i is :"+i);
}
}
A.Code Does't Compile.
B.Code Compiles but error will be generated at runtime.
C.Code Compiles & runs, output is
i is : 10
D.Code compiles & runs, output is
i is : 20
Answer Given A.
Cant you declare an instance variable as a local variable(Is shadowing not possible)
It can be done in base class and derived class I feel
Let me know..
Cheers