高端大气的企业网站,怀化网站建设哪家便宜,保温杯软文营销300字,网站快照优化公司1.概述
1.1、继承的由来 至于由来简单一句话#xff1a;多个类中存在相同属性和行为时#xff0c;将这些内容抽取到单独一个类中#xff0c;那么多个类无需再定义这些属性和行为。
继承描述的是事物之间的所属关系#xff0c;这种关系是 is-a 的关系。
1.2、继承的定义 …1.概述
1.1、继承的由来 至于由来简单一句话多个类中存在相同属性和行为时将这些内容抽取到单独一个类中那么多个类无需再定义这些属性和行为。
继承描述的是事物之间的所属关系这种关系是 is-a 的关系。
1.2、继承的定义 继承就是子类继承父类的属性和行为使得子类对象具有与父类相同的属性、相同的行为。子类可以直接访问父类中的非私有的属性和行为。
这里再声明一点父类又称为超类或者基类。而子类又称为派生类这点很基础
1.3、继承的优点 提高代码的复用性。 类与类之间产生关系为多态做了完美的铺垫不理解没关系之后我会再写一篇多态的文章 虽然继承的优点很多但是Java只支持单继承不支持多继承。
1.4、继承的格式 通过 extends 关键字可以声明一个子类继承另外一个父类定义格式如下 class 父类 {... }class 子类 extends 父类 { ...
}2.关于继承之后的成员变量
当类之间产生了关系后其中各类中的成员变量产生了哪些影响呢 关于继承之后的成员变量要从两方面下手一是成员变量不重名方面二是成员变量重名方面。
如果子类父类中出现不重名的成员变量这时的访问是没有影响的.
如果子类父类中出现重名的成员变量这时的访问是有影响的 子父类中出现了同名的成员变量时在子类中需要访问父类中非私有成员变量时需要使用 super 关键字至于修饰父类成员变量类似于之前学过的 this 。 使用格式 super.父类成员变量名
如果父类中的成员变量非私有子类中可以直接访问。私有子类是不能直接访问的。
3.关于继承之后的成员方法
当类之间产生了关系其中各类中的成员方法又产生了哪些影响呢 同样我们依旧从两方面分析。
如果子类父类中出现不重名的成员方法这时的调用是没有影响的。对象调用方法时会先在子类中查找有没有对 应的方法若子类中存在就会执行子类中的方法若子类中不存在就会执行父类中相应的方法.
成员方法重名大体也可以分两种情况 1、方法名相同返回值类型、参数列表却不相同优先在子类查找没找到就去父类 2、方法名、返回值类型、参数列表都相同没错这就是重写(Override)
重写 子类中出现与父类一模一样的方法时返回值类型方法名和参数列表都相同会出现覆盖效果也称为重写或者复写。声明不变重新实现。
4.关于继承之后的构造方法
构造方法的名字是与类名一致的所以子类是无法继承父类构造方法的。
构造方法的作用是初始化成员变量的。所以子类的初始化过程中必须先执行父类的初始化动作。子类的构造方法中默认会在第一句代码中添加super()表示调用父类的构造方法父类成员变量初始化后才可以给子类使用。
super() 不写也默认存在而且只能是在第一句代码中。 下一篇是关于this与super关键字的总结。