继承:通常意思就是儿子可以继承父亲的东西,在java里面也是一样的,当我们在同一个包内有多个类的成员变量/方法相同时可以使用继承,只可以在子非静态方法使用
继承就是把相同的成员变量/成员方法放在一个类中,然后使用extends这个关键字来让一个类来继承另一类从而达到代码的复用的作用,子类写在extends的左边,父类写在extends的右边,静态成员变量/方法不可以使用继承,因为静态变量不属于对象
当子类和父类是同名的成员变量的时候,在子类访问这个同名的成员变量的时候,子类是优先访问的自己的,
当子类继承父类,在父类非同名的的成员变量都是可以访问的,但是要单独访问父类中的同名的成员变量就要使用super这个关键字
继承:对两个类的共性进行抽取
为什么继承:达到代码的复用
子类继承了父类的什么:继承了父类的成员变量/成员方法,在子类和父类有同名的成员变量/成员方法优先访问子类,如果想要访问父类同名的就要使用super这个关键字
子类构造方法:
当父类有构造方法时,必须要先用子类调用父类的构造方法才可以使用,子类需要先帮助父类进行初始化之后,子类才能进行初始化,调用父类的构造方法需通过super()来完成,且必须放在子类方法的第一条语句
super和this的区别:
1.都是在非静态成员方法中使用,this是访问本类的方法和属性,super是访问父类的方法和属性
2.在构造方法中,this()是调用本类的构造方法,super()是调用父类的构造方法,两种构造方法不可以同时使用,且都需要放在第一行,构造方法中super()是一定会存在,但this()不写的话则不存在
父类和子类的打印顺序:
当父类和子类同时有静态代码块,实例代码块,构造方法,会优先执行父类的静态代码块,然后执行子类的静态代码块,后就是先执行父类的实例代码块和构造方法,在执行子类的
portected关键字是修饰父类的成员变量和成员方法,即便父类和子类不在同一个包时同样可以达到调用的作用,但调用时子类要包含父类的包,要在子类的方法运用super关键字调用,最后在main方法调用子类的方法,实现父类的调用
final关键字是让你的一个类不被另一个类继承,让你的变量变成常量
组合:
将一个类作为另一个类的成员变量来使用,同样是为了实现代码的复用
标签:变量,构造方法,继承,子类,成员,多态,父类,super From: https://www.cnblogs.com/hzy7/p/18454412