class Dad
{
protected static String me = "dad";
public void printMe()
{
System.out.println(me);
}
}
class Son extends Dad
{
protected static String me = "son";
}
public void doIt()
{
new Son().printMe();
}
Run Code Online (Sandbox Code Playgroud)
功能doIt将打印"爸爸".有没有办法让它打印"儿子"?
我正在研究在JAVA中重写成员函数,并考虑尝试重写成员变量.
所以,我定义了类
public class A{
public int intVal = 1;
public void identifyClass()
{
System.out.println("I am class A");
}
}
public class B extends A
{
public int intVal = 2;
public void identifyClass()
{
System.out.println("I am class B");
}
}
public class mainClass
{
public static void main(String [] args)
{
A a = new A();
B b = new B();
A aRef;
aRef = a;
System.out.println(aRef.intVal);
aRef.identifyClass();
aRef = b;
System.out.println(aRef.intVal);
aRef.identifyClass();
}
}
Run Code Online (Sandbox Code Playgroud)
输出是:
1
I am …
Run Code Online (Sandbox Code Playgroud)