java面向对象的三大特性:1、封装性,目的是增强数据安全性、简化编程;2、继承性,指将多个相同的属性和方法提取出来,新建一个父类,目的是代码复用;3、多态性,目的是增加代码的灵活度。
本教程操作环境:windows7系统、java8版、DELL G3电脑。
java面向对象的三大特征
1、封装(Encapsulation)
封装是指属性私有化
- 根据需要提供setter和getter方法来访问属性
- 隐藏具体属性和实现细节,仅对外开放接口
- 控制程序中属性的访问级别
目的:增强数据安全性,不能让其他用户随意访问和修改数据,简化编程,使用者不必在意具体实现细节,而只是通过外部接口即可访问类的成员
2、继承(Extend)
继承是指将多个相同的属性和方法提取出来,新建一个父类
- java中一个类只能继承一个父类,且只能继承访问权限非private属性和方法
- 子类可以重写父类中的方法,命名与父类中同名的属性
目的:代码复用
3、多态
多态(Polymiorph)可以分为两种:设计时多态、运行时多态
设计(编译)时多态:即重载(Overload),是指java允许方法名相同而参数不同(返回值可以相同也可以不同),同一个类中允许存在一个或多个以上的同名函数,只要参数类型或参数个数不同即可
运行时多态:即重写(Override)必须是在继承体系中,子类重写父类方法,JVM运行时根据调用该方法的类型决定调用那个方法
目的:增加代码的灵活度
总结:
1、java中应尽量减少继承关系,以降低耦合度
2、使用多态时,父类在调用方法时,优先调用子类的方法,如果子类没有重写父类的方法,则再调用父类的方法
3、java访问控制符作用范围表:
本类 | 本包 | 子类 | 外部包 | |
---|---|---|---|---|
public | ✓ | ✓ | ✓ | ✓ |
protected | ✓ | ✓ | ✓ | X |
default | ✓ | ✓ | X | X |
private | ✓ | X | X | X |
✓:可以访问 X:不可访问