本帖最后由 NPC丶minecraft 于 2019-9-18 23:57 编辑
学习日志
2019-9-18
面向对象进阶
继承的概念:
1. 继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,以及追加属性和方法
2. 通过extends实现
继承好处:
1. 提高了代码的复用性(多个类相同的成员可以放到同一个类中)
2. 提高了代码的维护性(如果方法的代码需要修改,修改一处即可)
继承弊端:
继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时子类实现也不得不跟着变化,削弱了子类的独立性
继承中变量的访问特点:
1. 就近原则,优先在子类当中去找,没有去父类中找。
2. 同名变量用this 和 super (关键字小写)。This:本类中,super:父类中
继承中成员的方法特点:
覆盖重写:
1. 发生在子父类关系当中
2. 方法名称和参数一样
3. @Override 检测子类的方法是否符合父类方法的覆盖重写
4种权限修饰符的访问范围:
1. private 只能在本类
2. 默认 同一个包下,无关系
3. protected 不同包子父类关系
4. public 不同包无关系
final修饰的特点:
最终的(final)
1. 修饰类,最终类,不能有子类
2. 修饰方法,最终方法,不能被子类覆盖重写
3. 修饰变量,变成常量,其值无法改变
4. 修饰引用类型,如Student s1 = new Student();
其s1中的值无法改变,但是Student里的内容还是可以改变的
static修饰的特点:
三句话:
静态是随着类的加载而加载
非静态是随着对象的创建而加载
静态不能调用非静态
|
|