//上溯、下溯造型:
class MyFrame extends JFrame{
this.setSize(100,100);
}
public static void main(String args[]){
Object w=new MyFrame();//这是上溯造型
w.setVisible(true);//这句话会出现错误,因为这个功能对object隐藏了
((MyFrame)w).setVisible(true);//这是下溯造型,这样就可以成功调用了
}
//java调用成员变量和方法问题:
public class TT {
public static void main(String[] args) {
A a=new B();//上溯
System.out.println(a.a);//上溯,调用的成员变量还是A自己的成员变量,输出结果是:A
a.say();//B重写了A的方法,调用方法是调用B自己的,输出结果是:我是B
System.out.println(a.get());//想要得到B自己的成员变量值,必须通过方法返回。结果是:B
}
}
class A{
String a="A";
public void say(){
System.out.println("我是A");
}
public String get(){
return a;
}
}
class B extends A{
String a="B";
public void say(){
System.out.println("我是B");
}
public String get(){
return a;
}
}
java上溯和下溯
最新推荐文章于 2022-03-21 10:55:30 发布