一为什么要学习继承?
类与类之间具备某些内在的联系,一般指具有相同含义的属性或者相同(类似)的功能
所谓的继承
将多个类之间存在的共同点(成员属性和成员方法)抽取出来,定义在指定的类中,这个类就称之为父类(或超类 基类); 存放特性的类 叫做子类,而父子类之间具备的关系---称之为继承
二 继承的好处:
1.简化子类代码的编写
2.提高了代码的重用性
拓展:继承的不足---提高了类与类之间的偶尔度,但是这种耦合度的提高提升复读是在封装的可控范围之内
三 继承的格式:
public[修饰符] class 类名 extends 父类{
}
建议:先写父类在写子类
四 方法重写:
1.含义:子类对父类已有方法进行功能性的增强需要在子类中重新定义该方法,称之为方法的重写
①构成方法重写的前提条件1:类与类之间必须是继承关系
②构成方法重写的前提条件2:重写的方法一定是父类已有的方法,丙炔一定是进行功能性的增强
2.构成方法重写的要素:
方法名(签名)一致 && 参数列表一致 && 返回值一致或者是 父类方法返回值的类型的子类 &&
访问权限不严于父类(子类的访问条件>=父类访问权限)
五 合理化赋值
1.重要性:对用户输入的数据进行合理化判断
2.在初级阶段用过条件运算符进行合理化复制
3.在实际开发中,一般常用的合理化复制判断主要是针对数值型(int和double)和String类型
①对于数值型:是否为0?是否能够小于0针对特殊值
②对于String类型:不能为" "(空串,空串是有地址,没有值),也不能为null(空值)
③拓展:当需要判断的类型是任意一种引用数据类型时,一般是不能为null
六 抽象
1.为什么使用抽象?(个人理解:强制子类必须重写父类的方法)
当父子类具有共性的方法,需要定义在父类中,但是父类又无法实现功能,需要由具体的子类实现,将父类中共性的方法去掉方法体,变成概念,称这样的方法为抽象方法(没有方法体节省栈的内存空间)抽象方法必须定义在抽象类中,否则报错
2.抽象类和抽象方法的定义格式
public abstract class 类名{
public abstract 返回值类型 方法名([参数列表]);
}
3.父类为抽象类之后,子类的操作
4.拓展:
①当子类 重写父类已实现的方法,重写
②子类定义父类抽象方法时,称之为实现(implements)
③实际开发中,如果没有特殊要求,不推荐使用抽象父类,这会回再次增加类与类之间的耦合度
标签:重写,21,继承,子类,合理化,复制,抽象,父类,方法 From: https://blog.csdn.net/Zjiayuan2002/article/details/136758778