封装、继承重写、抽象类

1.封装
(1)封装的概念:隐藏了实现细节,还要对外提供可以访问的方式。便于调用者的使用。这是核心之一
(2)使用一个Java中的关键字也是一个修饰符 private(私有,权限修饰符)。只要将Person的属性和行为私有起来,这样就无法直接访问
(3)隐藏后,还需要提供访问方式。只要对外提供可以访问的方法,让其他程序访问这些方法;同时在方法中可以对数据进行验证。一般对成员属性的访问动作:赋值(设置 set),取值(获取 get),因此对私有的变量访问的方式可以提供对应的 setXxx或者getXxx的方法
(4)可以在成员变量名前面加上this.来区别成员变量和局部变量(this可以用来调用
2.继承
(1) 继承:是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类,子类会自动拥有父类可继承的属性和方法。
(2)继承的好处:提高了代表的可维护性;
提高了代码的复用性 ;
让类与类之间产生了继承关系
(3)继承的弊端:类与类之间的耦合度过高
(4) 继承特点:java中类只能够单继承,不能多继承,可以多层继承 class Yy extends Object {}
class Fu extends Yy{}
class Zi extends Fu {}
所有的类都直接或者间接的继承了 Object类,Object类称为祖宗类
(5)继承的注意事项:1、使用关键字 extends 让类与类之间 产生继承关系;
2,、父类私有的成员,子类不能继承,因为根本看不到
3,不能为了继承某个功能而随意进行继承操作, 必须要符合 is a 的关系
苹果 is a 水果
男人 is a 人
狗 is a 人 ,
这种情况就不能继承了
(6)继承中的成员变量关系:
不同名的变量: 子类直接继承使用
同名的变量:默认访问的是子类自己的成员变量, 想访问父类中的同名变量,请使用 super.成员变量;
(7)继承中的成员方法关系:
不同名的方法:子类直接继承使用
同名的方法:默认访问的是子类自己的成员方法,想访问父类中的同名方法,请使用 super.成员方法();
super : 用来表示当前对象中包含的父类对象空间的
引用调用父类的成员变量:super.成员变量;
调用方法的成员方法: super.成员方法();
3.重写
方法重写(override):指 在子父类中,出现了方法声明相同的情况,也叫做方法覆盖,方法复写
方法重写的注意事项:1, 子类的方法声明要与父类相同(返回值,方法名,参数列表===一模一样)
2, 子类要重写父类的方法,方法的权限修饰符不能比父类的更低public 、default 、protected、 privaten
3, 父类私有的方法,子类不能够进行方法重写n 方法重载(overload):指 在同一个类中,多个方法名称相同,它们的参数列表不同(个数不同,数据类型不同)
4.抽象
抽象方法: 方法只有声明部分,没有方法体
抽象类: 包含抽象方法的类,一定是抽象类
抽象类不一定含有抽象方法
使用 abstract 修饰的类,是抽象类
抽象类的特点:
1,抽象类与抽象方法都必须使用 abstract来修饰
2,抽象类不能直接创建对象:抽象类中有抽象方法,没有方法体,无法被执行,所以实例化没有意义
3,抽象类中可以有抽象方法,也可以没有抽象方法
4,抽象类的子类:
------a,实现了抽象方法的具体类
------## 标题b,抽象类

猜你喜欢

转载自blog.csdn.net/W15827267047/article/details/83549363