向上造型:—》向上造型的注意:
- 能调用那些方法看父类
- 方法的具体执行看子类
public class Demo5 {
public static void main(String[] args) {
TestSuper1 ts=new TestSub1();
ts.m1();
}
}
class TestSuper1{
public void m1(){//1
System.out.println(this.toString());//子类有冲重写的方法,执行的是子类的中的方法
m2();//2----ts.m1().m2() 本类中有方法则查找自己//this代表当前正在活动的对象
}
public void m2(){//3
System.out.println("super");
}
}
class TestSub1 extends TestSuper1{
public void m2(){
System.out.println("sub");
}
}
静态变量和成员变量的值的是否共享的问题:
静态变量-->被类中所有的对象所共享(直接修改的是在方法区中的值,每个对象都直接检测到静态值的改变,此时的值是全局统一的,已经修改,全部改变)
成员变量-->被类中的每个对象单独享有(p.b--->p这个对象的属性b的值被p对象操作,而不影响在堆中的原本的b的变量默认值&#