黑马程序员-Java面向对象
来源:互联网 发布:chrome插件查看源码 编辑:程序博客网 时间:2024/06/11 05:37
---------------------- <ahref="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<ahref="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
面向对象三大特点:
一 封装:
封装就是要把属于同一类事物的共性(包括属性与行为)归到一个类中,以方便使用.比如人这类事物就可以封装到一个类中,因为人具有一些共性,比如身体、需要呼吸等等
二 继承:
1、提高了代码的复用性。
2、让类与类之间产生了关系。有了这个关系,才有了多态的特性。
注意:千万不要为了获取其他类的功能,简化代码而继承。必须是类与类之间有所属关系才可以继承。
Java语言中:Java只支持单继承,不支持多继承。因为多继承容易带来安全隐患:当多个父类中定义了相同功能,当功能内容不同时,子类对象不确定要运行哪一个父类。但是Java保留了这种机制,并用另一种表现形式来完成。多实现
Java支持多层继承。也就是一个继承体系。
如何使用一个继承体系中的功能:要想使用体系,先查阅父类的描述,因为父类中定义的是该类体系中的共性功能。那么这个体系已经基本可以使用了,那么在具体调用时,要创建最子类的对象,为什么呢?
1、是因为有可能父类不能创建对象。
2、创建子类对象可以使用更多的功能,包括基本的也包括特有的。
简单一句话:查阅父类功能,创建子类对象使用功能
就是子类可以继承父类的方法(函数)和变量,就比如Teacher 继承自People 那么他就可以有People 的行为和特征 比如 People有一个行为是eat(People p) 那么 对于Teacher也就同样可以使用eat这个行为(即方法)
三多态:可以理解为事物存在的多种体现形态。
1.多态的体现:父类的引用指向了自己的子类对象。父类的引用也可以接受自己的子类对象。
2.多态的前提:必须是类与类之间有关系,要么继承,要么实现。通常还有一个前提,存在覆盖。
3.多态的好处:多态的出戏大大的提高了程序的扩展性。
4.多态的应用
5.多态的弊端:提高了扩展性,但是只能使用父类的引用访问父类的成员。
6.多态的出现代码块
多态成员函数的特点:
在编译时期:参阅引用型变量所属的类中是否有调用的方法。如果有,编译通过,如果没有编译失败。
在运行时期:参阅对象所属类中是否有调用的方法。
简单总结就是:成员函数在多态调用时,编译看左边,运行看右边。
在多态中成员变量特点:无论编译还是运行,都产考左边(引用型变量所属的类)。
在多态中,静态成员函数的特点:无论编译和运行都参考左边。
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<ahref="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
详细请查看:<a href="http://www.itheima.com"target="blank">www.itheima.com</a>
- 黑马程序员 java面向对象
- “黑马程序员”-Java面向对象
- 黑马程序员--java面向对象
- 黑马程序员---面向对象【java】
- 黑马程序员-------Java面向对象
- 黑马程序员--java面向对象
- 黑马程序员-java面向对象
- 黑马程序员------JAVA面向对象
- 黑马程序员:java面向对象
- 黑马程序员-----JAVA面向对象
- 黑马程序员 java面向对象
- 黑马程序员-Java面向对象
- 黑马程序员 Java面向对象
- 黑马程序员--java面向对象
- 黑马程序员-----java面向对象
- 黑马程序员--Java面向对象
- 黑马程序员 Java 面向对象
- 黑马程序员--Java面向对象
- 错误记录--更改tomcat端口号方法,Several ports (8005, 8080, 8009)
- Linux USB触摸屏驱动注解
- Tomcat ubuntu 开机自动启动
- 配置probe来监控tomcat
- 数据库索引
- 黑马程序员-Java面向对象
- 有关ICP(Internet Cache Protocol)协议的总结(一)之RFC 2186
- jquery (name=)空格,+,~ 》符号的分层,隔行事件用法
- 石博盟:决胜跨境电子商务
- 数据库表中插入重复数据的处理
- Java SE之旅_06_日期和字符串的互转
- 【Android基础学IOS开发】__cplusplus extern __attribute__
- 土地利用动态监测之遥感监测
- Matlab中图像处理实例:灰度变换,空域滤波,频域滤波,傅里叶变换的实现