继承

继承:向上抽取共性

格式:

父类:

public class A{

  //...

}

子类:

public class B extends A {

  //......

}

说明:

A是B的父类,B是A的子类

子类拥有父类的所有内容,除了private和构造方法以外

继承的好处:完成代码的服用

继承成员变量的访问特点:

直接通过子类对象访问成员变量:

  等号左边是谁,优先使用谁,没有向上找

间接通过成员方法访问成员变量:

  方法属于谁,就优先使用谁,没有向上找

注意子类可以向上找(父类),父类不能向下找(子类)

继承中子类三个同名的变量的访问

方法内部直接访问变量,采用就近原则,没有向上找

this.变量名:本类的成员变量

super.变量名:父类的成员变量

继承中成员方法的访问特点:

new的是谁,优先使用谁,没有向上找

子类可以向上找,但是父类不能向下找

方法重写(Override)概念:父子类中出现了,名称相同,参数列表相同的方法的现象,叫做方法重写

方法重载【Overload】:名称相同,参事列表[不相同],与方法体无关

方法重写【Overload】:名称相同,参数列表[也相同],与方法体无关

  重写又叫做:覆盖,重写

  new的是谁,优先使用谁

权限:public>protected>什么都不写(default)>private

方法重写的注意事项:

子类方法覆盖父类方法,必须要保证权限大于等于父类权限

父类prinvate的方法,子类无法继承,不存在重写

子类方法的名称和参数列表必须和父类方法完全一致

子类方法覆盖父类方法,返回值类型(子类方法的返回值类型<=父类)

继承中构造方法的方法的访问特点:

创建子类对象,必须调用父类的构造方法

子类所有的构造方法中如果没有手动super调用父类构造方法,编译器默认隐藏一个super()调用父类空参构造

构造方法可以重载,所有可以使用suprt(参数),调用父类的重载的构造方法

成员方法中,不能使用super()调用构造方法

this关键字的总结

调用成员变量:

  this.变量名称

调用成员方法:

  this.成员方法名称(参数)

调用本类重载的构造方法

  this(参数...)

this和super调用构造方法,只能写一个,而且是第一行

构造方法不能自己调用自己,也不能出现僵持调用,A掉B,B在调用A

super关键字的总结:

调用成员变量

  super.变量名称

调用成员方法

  super.成员方法名称(参数)

调用本类重载的构造方法

  super(参数...)

Java只支持单继承,不支持多继承

Java支持多层继承(继承体系)

 

posted @ 2018-05-27 21:42  布凯!  阅读(131)  评论(0编辑  收藏  举报