继承:java中会把具有相同的属性、行为的对象抽象出来写成一个父类,这样可以简化代码量;object是所有类的父类
Super和this关键字
super作用:调用父类的构造器、只能出现在子类构造器中且必须是一行
(2) :super()中的参数决定了调用父类那个构造器
(3) :如果子类中没有super()那么虚拟机会自动调用父类的无参构造
This作用(能区别局部变量和实列变量):调用本类构造器,只能写在第一行
注:this和super不能同时出现
jvm在创建子类的过程:先创建父类然后才创建子类(意思是子类是父类的副本,但是构造不会继承)
重点:如果父类没有无参构造,而子类也没有构造,那么jvm会在子类调用父类无参构造但是父类没有无参构造啊,所以会报错
public class jicheng_2 {
public static void main(String[] args) {
Girl m=new Girl();
System.out.println(m.n);
}
}
class People{
int n=0;
// public People() {
// System.out.println("this is +'无参构造'");
// }
public People(int n) {
System.out.println("this is People");
this.n=n;
}
}
// class extends People{
// //如果父类没有无参构造,而子类也没有构造,那么jvm会在子类调用父类无参构造但是父类没有无参构造啊,所以会报错
// }
class Girl extends People{
public Girl() {
super(300);
System.out.println("Girl()");
}
}