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

时间:2023-03-10 02:39:01
子类覆写的变量被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,并隐藏!";
}