02java基础进阶之继承、protected、方法重载与方法重写、抽象类、final用法
2019-07-20 17:19
513 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Denial_learn/article/details/96606241
为什么使用继承:
- 可以将重复代码抽取到父类中
- 方便修改代码
- 减少代码量
特征:
- 继承是代码重用的一种方式
- 将子类共有的属性和行为放到父类中
- 符合is-a关系的设计使用继承
关键字、格式及规则:
关键字 : extends
规则:只能继承一个父类
格式:
class Dog extends Pet { Pet是父类,Dog是子类 //子类特有的属性和方法 }
子类访问父类成员
super关键字来访问父类的成员
- super只能出现在子类的方法和构造方法中
- super调用构造方法时,只能是第一句
- super不能访问父类的private成员
使用super关键字,super代表父类对象
访问父类构造方法
访问父类属性
访问父类方法
不能被继承的父类成员:
- private成员 属性
- 子类与父类不在同包,使用默认访问权限的成员
- 构造方法
访问修饰符protected
- 可以修饰属性和方法
- 本类、同包、子类可以访问
访问修饰符使用范围总结:
多重继承关系的初始化顺序:
方法重写的规则:
- 方法名相同
- 参数列表相同
- 返回值类型相同或者是其子类;
- 访问权限不能严于父类
方法重载与方法重写的区别:
抽象类
抽象类和抽象方法
- 抽象类不能被实例化
- 可以有0~多个抽象方法
- 非抽象类必须重写父类的所有抽象方法
Java中也使用抽象类,限制实例化
public abstract class Pet { }
abstract也可用于方法——抽象方法
- 抽象方法没有方法体
- 抽象方法必须在抽象类里
- 抽象方法必须在子类中被实现,除非子类是抽象类
如:
final用法:
- 修饰的类,不能再被继承
- 修饰的方法,不能被子类重写
- 修饰的变量将变成常量,只能在初始化时进行赋值
相关文章推荐
- JAVA基础: 面对对象封装、继承的理解,方法的重载和重写、抽象类、访问修饰符
- Java基础day9(重写,多态,final、static关键字,抽象方法,抽象类)
- 黑马程序员_5JAVA基础 继承 final的用法以及抽象类的特点
- java笔记(三)[java中的继承&java中的方法重载,重写,重构&java中的向上转型和乡下转型&java中的抽象类和接口&java中的接口向上转型]
- 黑马程序员 Java基础 面向对象:继承、final关键字、抽象类、模版方法模式、接口、多态、Object类
- 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第1节 继承_6_继承中方法的覆盖重写_概念...
- JAVA基础再回首(六)——父与子的继承、super关键字、方法重写、方法重载
- 黑马程序员_Java基础_面向对象(继承、子父类变量和函数以及构造函数特点、final关键字、抽象类、模版方法模式、接口)
- java面向对象总结(三)继承【This和Super、覆盖(复写,重写)、final、抽象类: abstract、模板方法设计模式】
- Java基础——继承+子父类相关特点+Final关键字+抽象类+模板方法设计模式+接口
- 黑马程序员——Java基础---面向对象代码块和继承和this和super和重写和重载和final
- 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第5节 final关键字_1_final关键字概念与四种用法...
- JAVA基础--重载与重写,接口与抽象类,构造方法的作用,代码块的分类
- 带你走进java-第七章.代码块,面向对象特征之继承,继承中的构造方法调用,方法的重载和重写,关键字final
- 简单的java实验,涉及到 类继承以及接口问题,方法体的重写(区别于重载)
- 类的继承,抽象类,接口,方法重写和重载
- java学习笔记6:构造方法、对象的创建、继承、重写、static、final关键字
- JAVA面向对象基础:继承、变量隐藏、方法重写、包、修饰符、this、super
- 面试基础1-重写重载-static-abstract-final-继承(部分非原创,侵删)
- 【JAVA基础】④关于重载,重写,抽象类,接口,内部类和单例模式