长春seo网站建设费用,建设网站 如何给文件命名,企业网站建设必要性,腾讯网站开发语言继承
比如#xff0c;狗和猫#xff0c;它们都是一个动物#xff0c;有共同的特征#xff0c;我们就可以把这种特征抽取出来。
像这样把相同的可以重新放到一个类里面#xff0c;进行调用#xff0c;这就是继承。
概念
继承(inheritance)机制#xff1a;是面向对象程…继承
比如狗和猫它们都是一个动物有共同的特征我们就可以把这种特征抽取出来。
像这样把相同的可以重新放到一个类里面进行调用这就是继承。
概念
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段它允许程序员在保持原有类特 性的基础上进行扩展增加新功能这样产生新的类称派生类。继承呈现了面向对象程序设计的层次结构 体现了由简单到复杂的认知过程。继承主要解决的问题是共性的抽取实现代码复用。
在Java中如果要表示类之间的继承关系需要借助extends关键字
修饰符 class 子类 extends 父类 {
// ...
} 子类中访问父类的成员变量
子类和父类不存在同名成员变量
public class Base {
int a;
int b;
}
public class Derived extends Base{
int c;
public void method(){
a 10; // 访问从父类中继承下来的a
b 20; // 访问从父类中继承下来的b
c 30; // 访问子类自己的c
}
}
子类和父类成员变量同名
如果访问的成员变量子类中有优先访问自己的成员变量。 如果访问的成员变量子类中无则访问父类继承下来的如果父类也没有定义则编译报错。 如果访问的成员变量与父类中成员变量同名则优先访问自己的。
访问成员方法时也是一样
总结成员方法没有同名时在子类方法中或者通过子类对象访问方法时则优先访问自己的自己没有时再到父类中找如果父类中也没有则报错。
通过子类对象访问父类与子类中不同名方法时优先在子类中找找到则访问否则在父类中找找到则访问否则编译报错。 通过派生类对象访问父类与子类同名方法时如果父类和子类同名方法的参数列表不同(重载)根据调用方法适传递的参数选择合适的方法访问如果没有则报错。
super关键字
该关键字主要作用在子类方法中访问父类的成员。当在子类中想要明确使用父类时用super关键字即可。
在子类构造方法中并没有写任何关于基类构造的代码但是在构造子类对象时先执行基类的构造方法然后执行子类的构造方法因为子类对象中成员是有两部分组成的基类继承下来的以及子类新增加的部分 。父子父子肯定是先有父再有子所以在构造子类对象时候 先要调用基类的构造方法将从基类继承下来的成员构造完整然后再调用子类自己的构造方法将子类自己新增加的成员初始化完整。
注意 1. 若父类显式定义无参或者默认的构造方法在子类构造方法第一行默认有隐含的super()调用即调用基类构造方法。 2. 如果父类构造方法是带有参数的此时需要用户为子类显式定义构造方法并在子类构造方法中选择合适的父类构造方法调用否则编译失败。 3. 在子类构造方法中super(...)调用父类构造时必须是子类构造函数中第一条语句。 4. super(...)只能在子类构造方法中出现一次并且不能和this同时出现。
继承方式 Java中只满足这几种继承方式。注意不支持多继承。
final关键字
修饰变量或字段表示常量(即不能修改)。
修饰类表示此类不能被继承。
组合
和继承类似, 组合也是一种表达类之间关系的方式, 也是能够达到代码重用的效果。组合并没有涉及到特殊的语法(诸如 extends 这样的关键字), 仅仅是将一个类的实例作为另外一个类的字段。