Java基础课程笔记.docx

Java基础课程笔记.docx

ID:59254674

大小:15.48 KB

页数:7页

时间:2020-09-08

Java基础课程笔记.docx_第1页
Java基础课程笔记.docx_第2页
Java基础课程笔记.docx_第3页
Java基础课程笔记.docx_第4页
Java基础课程笔记.docx_第5页
资源描述:

《Java基础课程笔记.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、DAY11/*多态的概念:1、之前我们学习了继承,继承的好处之一:为多态提供了前提。2、多态:是指父类类型的变量存储了子类对象的引用。3、注意:“多态”的使用,一定要继承关系多态的前提和体现:1、有继承关系(重要)classStudentextendsPerson2、有方法重写3、有父类引用指向子类对象(重要)Personp=newStudent();*//*多态的成员访问特点:以下都是指:子类的成员覆盖了父类的成员是(子父类都有):1、成员变量:编译看左边(父类必须要有,否则编译错误),运行时看左边(运行时,打印的值:

2、父类的)2、成员方法:编译看左边(父类必须要有,否则编译错误),运行看右边(运行时,运行的是“子类”的)3、静态方法:编译看左边(父类必须要有,否则编译错误),运行按左边(运行时,运行的是”父类“的)总之:编译都要看左边,也就是:多态时,访问的成员,父类中必须要有;否则编译错误运行时:除了“成员方法”看右边,其他的都是看左边;多态时:左:父类右:子类*//*多态中的类型转换:1、多态时:Animala1=newCat();此时,编译器是将Cat的引用“隐式”的转换为Animal类型。这种转换类型类似于longn=int;

3、是一种隐式的:类型提升-->向上转型;2、多态时,父类的引用不能访问子类特有的成员;3、可以经“父类类型”强制转换为“它所存储的子类对象”的引用;Catc=(Cat)a1;向下转型后,就可以访问子类特有成员;4、强制转换时,一定要转换为“它所存储的子类对象”,否则会在运行时抛出:ClassCastException为了防止这种异常,我们可以在“强制转换前”先进行判断,后转换:判断,使用关键字:instanceof(只能用于引用数据类型的判断);格式:变量instanceof某类类型返回:boolean值,如果为true:

4、表示左边的“变量”是右边的”某类类型“可以安全强制转换;如果为false:便是左边的”变量“不是右边的”某类类型“;小结:1、向下转型:Animala1=newCat();2、向上转型:Catc=(Cat)a1;*///孔子装爹/*孔子装爹案例:class孔爹{intage=80;void讲课(){System.out.println("孔爹讲Java");}}class孔子extends孔爹{intage=50;void讲课(){System.out.println("孔子讲C#");}void打游戏(){System

5、.out.println("孔子玩斗地主(IOS版)");}}main(){//有一天有人请孔爹出去讲Java,孔爹去了//之后,又来人请孔爹,孔爹没在家,只有孔子接待,孔子一听来人说给的报酬还挺高//孔子于是就打算冒充他爹,替爹去讲课。//于是孔子进屋:带上假胡子,穿上他爹的衣服,就去讲课了孔爹kd=new孔子();System.out.println("大家好,我的年龄是:"+kd.age);//80kd.讲课();//孔子讲C#kd.打游戏();//编译错误,孔爹不能打游戏//孔子讲课后回到家,脱掉衣服,卸掉胡子孔

6、子kz=(孔子)kd;kz.打游戏();//OK了;}*//*多态的好处1.提高了程序的维护性(由继承保证)2.提高了程序的扩展性(由多态保证):见:04.Demo多态的弊端1.不能访问子类特有功能那么我们如何才能访问子类的特有功能呢?多态中的转型*//*抽象类:1."抽象类"也是一个类;2.有时,父类中的方法,会被每个子类重写,那么在父类中这个方法的方法体内容,就没有意义了,这时,可以在父类中将此方法定义为"抽象方法":只有方法的定义,没有方法体;需要使用关键字:abstract3.如果一个类中包含了一个"抽象方法",

7、那么这个类必须也要定义为"抽象类",仍然使用关键字:abstract4.子类继承一个抽象类,仍然使用:extends,仍然是"单继承";但是:子类必须重写父类中所有的"抽象方法",否则子类也必须是个"抽象类"(另一个角度说:一个抽象类可以继承自另一个抽象类);5.一个抽象类,不能被实例化;因为无法为抽象方法分配空间;6.抽象类中可不可以没有抽象方法?可以的;抽象类中可以什么都不定义7.抽象类中都可以定义什么?1.成员变量;2.实现的方法;3.构造方法:作用:为成员属性赋值;4.抽象方法;*//*猫:成员属性:名称:(父类

8、)性别:(父类)年龄:(父类)成员方法:吃饭:(抽象)睡觉:(父类)捉老鼠:狗:成员属性:名称:(父类)性别:(父类)年龄:(父类)成员方法:吃饭:(抽象)睡觉:(父类)看门:*//*老师案例具体事物:基础班老师,就业班老师共性:姓名,年龄,讲课。Person(抽象):成员属性:姓名:年龄:成员方法:讲课(抽象)基础

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

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

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