首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

向下转型

2012-10-24 
向上转型class Father{//钱数float money5000static int age90//花销 void expand(){System.out.print

向上转型

class Father{//钱数float money=5000;static int age=90;//花销 void expand(){System.out.println("买酒");}public static void marry(){System.out.println("父亲结婚!");}};class Child extends Father//静态的方法不是覆盖{float money=3000;static int age;String name;public  void expand(){System.out.println("买书");super.money-=500;}public void university(){System.out.println("上大学");super.money-=1500;}public static void marry(){System.out.println("儿子结婚!");}public static void setAge(int age1){      age=age1;}};class Extends{public static void main(String[] args) {Child ch=new Child();Father f=ch;//放生向上转型,得到的父类引用称为向上转类型 向上转型:父类引用指向子类对象System.out.println(f.money);//访问的是父类的属性f.expand();//访问的是子类被覆盖后的方法//f.university();//不可以访问f.marry();//访问父类的marry,因为static方法不能被覆盖//f.setAge(50);//不可以访问System.out.println(f.age);//访问的是父类的属性,因为覆盖的只能是方法,不能是属性         Child ch1=(Child)f; System.out.println(ch1.money); Father fa=new Father(); Child c=(Child)fa;//保证上下转机制健全,编译期间不会通过 无上转 没下转}};

?

热点排行