更多详情可以看看http://www.codeceo.com/article/java-extends.html
1.什么是继承?
这是java类的一种关系,是一种,父子关系,当我们说类B继承了类A,此时类B具有类A的的特征(保括方法和属性),我们称类A为父类,类B为子类
那个简单理解的例子,比方Car类为父类,那它有个子类为BMW.
那我们来看看简单的代码,继承的关键字为extends
//BMW 是子类,Car是父类 class BMW extends Car{}
2.继承的特点
(1)子类继承父类的方法和属性
(2)子类可以对从父类继承的方法进行方法重写
值得注意的是此刻方法的返回参数和传入参数要保持一致
(3)单继承:一个子类只能有一个父类
4、 方法重写与重构
如果在子类中定义的一个方法,其名称、返回类型及参数列表正好与父类中某个方法的名称、返回类型及参数列表相匹配,那么可以说,子类的方法重写了父类的方法。
方法重写在不同类,是实现多态的必要条件。
重载用在同一个类中各方法方法名相同,参数列表不同(与返回值类型没有关系)的情况。
5.继承中的this和super:
构造器中的this表示当前正在初始化的对象引用,方法中的this表示当前正在调用此方法的对象引用。this具体用法表现在一下几个方面:
1.当具多个重载的构造器时,且一个构造器需要调用另外一个构造其,在其第一行使用this(param)形式调用,且只能在第一行;
2.当对象中一个方法需要调用本对象中其他方法时,使用this作为主调,也可以不写,实际上默认就是this作为主调;
3.当对象属性和方法中的局部变量名称相同时,在该方法中需要显式的使用this作为主调,以表示对象的属性,若不存在此问题,可以不显式的写this。
其实,其牵涉到的一个问题就是变量的查找规则:先局部变量 => 当前类中定义的变量 => 其父类中定义的可以被子类继承的变量 => 父类...
super表示调用父类中相应的属性和方法。在方法中,若需要调用父类的方法时,也一定要写在第一行