ZKX's LAB

java 引用变量的声明类型为父类 java 中 子类变量为什么不引用父类实例, 将详细点更好。

2020-07-25知识14

java 中 子类变量为什么不引用父类实例, 将详细点更好。 java 中 子类变量为什么不引用父类实例,将详细点更好。1.举一个例子,学生类继承人类:Studen extends Person 首先你要明白一个类实例化的时候是怎么分配内存的:Student 。Java 父类引用变量指向子类对象 这个程序还有什么看不懂的,就尽快提问吧Title:RecallPackagecom.JasonDescription:TODO 接口回调的实例Function:TODOauthor Jasondate 2015年10月25日time 下午8:33:07packagecom.Jason;接口的声明interface ShowMessage{void show(String s);}class TV implements ShowMessage{/接口的实现public void show(String s){System.out.println(s);}}class PC implements ShowMessage{public void show(String s){System.out.println(s);}}public class Recall {public static void main(String[]args){TODO Auto-generated method stubShowMessage sm;声明一个接口变量sm=new TV();接口变量中存放对象(TV)的引用sm.show(\"长城牌电视机\");接口回调,这里做个说明父类只能调用子类继承的、重写的方法、隐藏的变量,sm是父类,show(\"长城牌电视机\")是重写的方法sm=new PC();接口变量中存放对象的引用sm.show(\"联想电脑\");接口回调}}java 在main方法中声明变量v为父类类型,指向子类对象 在main方法前加个 测试类就OK了,public class Test {}不明白为什么public void startUp(int i)要加进参数去。去掉就可以了。考察的是 多态,满足了三个条件:有继承,有重写,父类引用指向子类对象,所以,v,调用的是car 的方法,输出 轿车的启动方法!class Vehicle{public void startUp(){System.out.println(\"一般车辆的启动方法!}}class Car extends Vehicle{public void startUp(){System.out.println(\"轿车的启动方法!}}public class Test {main方法中的调用public static void main(String[]args){创建对象与调用方法Vehicle v=new Car();System.out.print(\"实际调用的方法为:\");v.startUp();}}

#变量#多态性#string#类对象#引用类型

随机阅读

qrcode
访问手机版