标签:
1.继承(inheritance):Java是单继承的,意味着一个类只能从另一个类继承(被继承的类叫做父类也叫【基类 baseclass】),继承的类叫做子类,java中的继承使用extends关键字。
public class Child extends Parent{ public Child(){ System.out.println("child"); } public static void main(String[] args){ Child child = new Child(); } }
public class Parent { public Parent(){ System.out.println("Parent"); } }
输出结果:
Parent
child
分析:
如果将父类的构造方法加了参数int i,这样子类不变的话会编译不通过,可以在子类构造方法中加super(1)
2.当生成子类对象时,java默认首先调用父类的不带参数的构造方法,然后执行该构造方法,生成父类的对象,接下来再去调用子类的构造方法。
【要想生成子类的对象,首先需要生成父类的对象,没有父类对象就没有子类对象,比如说:没有父亲就没有孩子】
3.super关键字:super表示对父类对象的引用。
4.如果子类使用super()显示调用父类的某个构造方法,那么在执行的时候就会寻找与super()所对应的构造方法而不会再去寻找父类的不需参数的构造方法。
与this一样,super也必须要作为构造方法的第一条执行语句,前面不能有其他可执行语句。
5.关于继承的3个特点
1)父类有的,子类也有
2)父类没有,子类可以增加
3)父类有的,子类可以改变
如下所示,是属性的继承演示
public class InheritenceTest { public static void main(String[] args) { Apple apple = new Apple(); String s = apple.name; System.out.println(s); } }
public class Apple extends Fruit{ String name = "apple"; }
public class Fruit { String name = "fruit"; }
结果是:apple,如果Apple里没有写String name= "apple",就打印fruit
6.关于继承的注意事项
a)构造方法不能被继承
b)方法和属性可以被继承
c)子类的构造方法隐式地调用父类的不带参数的构造方法
d)当父类没有不带参数的构造方法时,子类需要使用super来显示地调用父类的构造方法,super指的是对父类的引用
e)supper关键字必须是构造方法中的第一行语句。
7.ADSL
8.拉开大
标签:
原文地址:http://www.cnblogs.com/dieyaxianju/p/5102124.html