子类覆写的变量被private隐藏,强制转换方式通过子类访问父类的被覆写变量:

import static java.lang.System.*;
public class SuperParent{
	public static void main(String[] args){
		Parent2 p2=new Parent2();
		//-因为变量str在Parent2中是private修饰,虽然覆写了Parent1中的str,但是隐藏起来,这样访问调用会报错
		//out.println(p2.str);
		//-虽然Parent2中的覆写变量str已经隐藏起来,但可以通过强制转换方式访问Parent1中的str变量
		out.println(((Parent1)p2).str);
	}

}

//-父类:
class Parent1{
	public String str="父类Parent1的变量str!";
}

//-子类:
class Parent2 extends Parent1{
	private String str="覆写父类Parent1的变量str,并隐藏!";
}

  

原文地址:https://www.cnblogs.com/baby-zhude/p/8022608.html