黑马程序员技术交流社区
标题:
Java面向对象思想
[打印本页]
作者:
VIP1108210117
时间:
2015-6-19 23:35
标题:
Java面向对象思想
一、封装
对象要有一个明确的边界;边界的划分(对象各司其职、对象的粒度、对象的可重用性)
具体来说:
1.属性: 私有 private(提供set和get方法)
2.方法: 公开或私有public/private
3.方法声明 --> 公开
方法实现 --> 隐藏
实现改变时,对对象的使用者没有影响。
二、继承
共性放到父类,特性放到子类;父类 --> 子类,其实就是特殊 --> 一般
1.关键字: extends 例如:Dog extends Animal{}
2.java中一个类最多只能有一个直接的父类,即单继承(具有简单性、树形结构),
C++中是单继承
java中要实现多继承,通过接口来实现。
3.父类中所有属性和方法都能继承给子类;父类中的私有方法不能继承给子类。
4.
访问权限 继承
private 本类内部 不能继承
default 本类+同包 同包子类可以继承
protected 本类+同包+不同子包 可以继承
public 公开 可以继承
5.构造对象过程
(1)分配空间
(2)递归地构造父类对象
a. 父类 初始化属性
b. 父类 构造方法
(3)初始化属性
(4)调用构造方法
6.super
用法:
super() 调用父类的构造方法,只能出现在构造方法的第一行
super.方法名 super表示父类的对象,通过它去调用父类的方法
注意:在写类的时候,一定要写默认无参的构造方法,如果一个构造方法的
第一句既不是this(),也不是super()时,那么就会在这里隐含的调用
他的父类的无参的构造方法,即隐含的有super()。
三、多态
运行时多态。
子类的对象放在父类的引用中,例如 Animal a=new Dog,子类对象当父类对象来使用。
1.多态原则:
(1)对象类型不变
(2)只能用引用调用其引用类型中定义的方法
(3)运行时,根据对象的实际类型去找子类覆盖之后的方法
2.对象的强制转换
格式: 引用 instanceof 类型
引用所指的对象是否鱼类相符,返回值boolean值。
3.多态的灵活变换
(1)用于参数列表上:
public void m(A a){} 可以用A类的任何子类对象作为参数
(2)用在返回值上:
public A m(){} 这个方法可能返回A类的任何子类对象
作者:
lizhi1817
时间:
2015-6-20 00:25
学习了
!!!!
作者:
胡亚辉
时间:
2015-6-20 07:52
如果有例题就更好了
作者:
杰可可
时间:
2015-6-20 08:56
顶一个!!
作者:
13569403973
时间:
2015-6-20 09:06
赞一个!总结的真好!
作者:
我的最优解
时间:
2015-6-20 09:08
赞一个。。。
作者:
zhaopy
时间:
2015-6-20 09:10
好东西学习了!!!
作者:
cyd1058
时间:
2015-6-20 09:28
你这是想表达什么呢
作者:
汪磊の
时间:
2015-6-20 09:40
学习了,赞一个
作者:
zuopiezi
时间:
2015-6-20 09:58
学习。学习。。
作者:
ww黑马
时间:
2015-6-20 10:45
学习了
作者:
zhand
时间:
2015-6-20 10:48
写的不错 很适合初学者学习
作者:
十五号的人生
时间:
2015-6-20 14:07
总结的不错啊
作者:
heima591046495
时间:
2015-6-20 19:42
如果有具体的实例就更好了
作者:
pizhihui
时间:
2015-6-20 20:41
学习了,有个程序更好!!
作者:
heisanheisan123
时间:
2015-6-20 21:51
总结性知识~~
作者:
zlpiano
时间:
2015-6-20 22:04
总结得不错,帮顶
作者:
1千克=1024克
时间:
2015-6-20 22:58
谢谢分享了
作者:
yywishp
时间:
2015-6-20 23:39
赶紧收藏了
作者:
wx_J25HxI5W
时间:
2015-6-20 23:48
整理的真全面,果断收藏!
作者:
1958078929
时间:
2015-6-21 11:52
谢谢分享
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2