package zhangsan.lisi;
public class DuoTai2 {
public static void main(String []args){
Funtion aanew = new Funtion();
Funtion1 bbnew = new Funtion1();
//aanew.fun1();
//bbnew.fun2();
aanew = bbnew;//
bbnew = (Funtion1)aanew;//不会影响aanew的值,有没有这一句都是可以的
bbnew.fun1();//此处的fun1是父类继承过来的
aanew.fun1();//这里的值的改变不是因为bbnew = (Funtion1)aanew;而是因为aanew = bbnew;
//父类aanew可以指向子类对象,但是绝不能调用子类特有的成员
//aanew.gun();
/**
Funtion aanew = new Funtion1();//这就是在父类引用自身志向的就是一个对象时,才可以将父类的引用转化为子类的引用,其他情形均不行
aanew.nameString = "zhangsan";
System.out.println(aanew.nameString);
*/
}
}
class Funtion{
protected String nameString;
public void fun1(){
System.out.println("HENNL");
}
}
class Funtion1 extends Funtion {
public void fun1(){
System.out.println("NNEEL");}
public void gun(){//子类所特有的成员是不能被上述程序访问的
System.out.println("Hello");
}
}