Java---面向对象三大特征
面向对象主要有三大特性
-
封装
-
继承
-
多态
1.封装的概念
1.封装性是面向对象编程的核心思想
2.指的就是将描述某种实体的数据和基于这些数据的操作集合到一起,形成一个封装体
3.封装的思想保证了类内部数据结构的完整性 使用户无法轻易直接操作类的内部数据,这样降低了对内部数据的影响,提高了程序的安全性和可维护性
1.1封装的好处
01.方便加入控制语句
02.方便修改实现
03.隐藏类的实现细节
04.只能通过规定方法访问数据
1.2封装的使用
例:
1.3This关键字
this关键字主要有三个应用:
01、this调用本类中的属性,也就是类中的成员变量
02、this调用本类中的其他方法;
03、this调用本类中的其他构造方法调用时要放在构造方法的首行
2.继承的概念
01.继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
02.继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为
2.1使用继承
编写父类:
编写子类,继承父类:
2.2继承的机制
1.继承机制是允许并鼓励类的重用的
2.派生类也可以被继承,成为父类,即派生类既具有从父类中继承下来的
属性和行为,又具有自身新定义的属性和行为,当派生类又被它的子类
所继承时,那么它所继承的及自身所定义的属性和行为也被下一级子类所继承下去
3.Java语言中只支持单继承,即一个子类只继承自一个父类
4.Java语言中可以通过接口的方式来弥补由于不支持多继承而带来的子类
不能使用多个父类的属性和行为所产生的不足
2.3 super关键字
super关键字来访问父类的成员
1.super只能出现在子类的方法和构造方法中;
2.super调用构造方法时,只能是第一句
3.super不能访问父类的private成员。
2.3.1子类访问父类成员
访问父类构造方法:
在子类构造方法中调用且必须是第一句
super ( ) ;
super ( name ) ;
访问父类属性:
super . name ;
访问父类方法
super . print ( ) ;
2.3.2子类可以继承父类的所有资源吗?
2.3.3多重继承关系的初始化顺序是怎样的?
2.4方法的重写
1.在子类中可以根据需要对从父类中继承来的方法进行重写
2.重写的方法和被重写的方法必须具有相同方法名称、参数列表和返回类型。
3.重写方法不能使用比被重写的方法更严格的访问权限
3.多态的概念
1.将父类对象应用于子类对象的特征就是面向对象编程中多态性的体现.
2.多态指的就是在应用程序中出现的“重名”现象。多态性允许以统一的风
格编写程序,以处理种类繁多的已存在的类及其相关类。这样既降低了
维护的难度,又节省了时间.
3.1使用多态实现思路
编写父类
编写子类,子类重写父类方法(实现多态的要素1)
运行时,使用父类的类型(实现多态的要素2),子类的对象
3.2实现多态的三个必要条件
1.继承
2.重写
3.父类引用指向子类对象
3.2多态的表现方面
1.方法重写
2.抽象类
3.接口
3.3方法重写的规则
1.方法名相同
2.参数列表相同
3.返回值类型相同或者是其子类
4.访问权限不能严于父类
3.4方法重载与方法重写
4.对象之间的比较
1.“==”运算符
“==”运算符所进行的是所引用对象的内存地址是否一致
2.equals()方法
equals()方法是String类中的方法,其所进行的是两个对
象引用所指的内容是否相同的比较