java中继承(子类调用父类构造方法还不懂)

java中继承(子类调用父类构造方法还不懂)

ID:19745486

大小:41.50 KB

页数:6页

时间:2018-10-05

java中继承(子类调用父类构造方法还不懂)_第1页
java中继承(子类调用父类构造方法还不懂)_第2页
java中继承(子类调用父类构造方法还不懂)_第3页
java中继承(子类调用父类构造方法还不懂)_第4页
java中继承(子类调用父类构造方法还不懂)_第5页
资源描述:

《java中继承(子类调用父类构造方法还不懂)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、declarationsn.声明extendsv.继承继承中注意的问题:1重写(也叫覆盖,也叫重构):重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值类型;重写方法不能使用比被重写方法更严格的访问权限。重写是类与类之间的关系,两者必须是继承关系。重载是方法与方法之间的关系。2关键字super:在Java类中使用super来引用父类的成分super可用于访问父类中定义的属性super可用于调用父类中定义的成员方法super可用于在子类构造方法中调用父类的构造方法super的追溯不仅于直接父类,就是father的father。。。。。。Supper关键字有两个特殊的用途:在子类构造函

2、数中调用父类的构造函数在子类中调用父类的方法。3多态:多态就是重写和重载!而上塑造型或虚方法的调用更好的体现了多态。上溯造型(也叫虚方法)中,方法是调用子类自己的,属性是调用父类的。(一个引用类型变量如果声明为父类的类型,但实际引用的是子类对象,那么该变量就不能再访问子类中添加的属性和方法)publicclassFather{publicStringname="王惠";publicvoidbidBoy(){System.out.println("今天我要是不打你,我就不是你娘!!!");}}publicclassSon1extendsFather{publicStringname1="王鹏的

3、姐姐";publicStringname="张三三";publicvoidbidBoy(){//重写System.out.println("我做错了什么?为什么你要打我!!!");System.out.println(super.name);System.out.println(name);//如果子类没有name,那么这个name就输出父类的。}}publicclassTest{publicstaticvoidmain(Stringargs[]){Fatherf=newSon1();//上溯造型,虚方法调用f.bidBoy();//这里调用的是子类中重写父类的方法!上溯造型中,方法是调用子

4、类自己的,属性是调用父类的。System.out.println(f.name);}}输出结果:我做错了什么?为什么你要打我!!!王惠张三三王惠同类收集(homogenouscollections)MyDate[]m=newMyDate[2];m[0]=newMyDate(22,12,1964);m[1]=newMyDate(22,7,1964);异类收集(heterogeneouscollections)Person[]p=newPerson[3];p[0]=newStudent();//跟person有继承关系p[1]=newPerson();p[2]=newGraduate();//跟

5、person有继承关系方法声明的参数类型为父类类型,可以使用子类的对象作为实参调用该方法publicclassTest{publicvoidmethod(Persone){//……e.getInfo();}publicstaticvoidmain(Stringargs[]){Testt=newTest();Studentm=newStudent();t.method(m);}}4instanceof操作符:instanceof操作符的作用是判断一个变量是否是右操作数指出的类的一个对象,由于java语言的多态性使得可以用一个子类的实例赋值给一个父类的变量,而在一些情况下需要判断变量到底是一个什

6、么类型的对象,这时就可以使用instanceof了。当左操作数是右操作数指出的类的实例或者是子类的实例时都返回真,如果是将一个子类的实例赋值给一个父类的变量,用instanceof判断该变量是否是子类的一个实例时也将返回真。5对象造型:对Java对象的强制类型转换称为造型在造型前可以使用instanceof操作符测试一个对象的类型从子类到父类的类型转换可以自动进行从父类到子类的类型转换必须通过造型(强制类型转换)实现无继承关系的引用类型间的转换是非法的publicclassTest{publicvoidmethod(Persone){System.out.println(e.getschoo

7、l());//非法,因为从子类到父类的类型转换可以自动进行,故这里已经是父类了。父类的对象只能调用父类中有的方法。if(eintstanceofStudent){Studentme=(Student)e;System.out.println(me.getschool());}}publicstaticvoidmain(Stirngargs[]){Testt=newTest();Studentm=newStud

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。