super表示使用它的父类。super可用于一下几种情况:
1:调用父类的构造方法;
2:调用父类的方法(子类覆盖了父类的方法时);
3:访问父类的数据域;
调用父类的构造方法,此时super语句必须是子类构造方法的第一条语句。不能在子类中使用父类构造方法名来调用父类构造方法。父类的构造方法不被子类继承。调用父类的构造方法的唯一途径是使用super关键字,如果子类中没有显式调用,则编译器自动将super();作为子类构造方法的第一条语句。这回形成一个构造方法链。
静态方法中不能使用super关键字。
如果是继承的方法,是没有必要使用super来调用,直接即可调用。但如果子类覆盖或重写了父类的方法,则只有使用super才能在子类中调用父类中被重写的方法。
调用父类构造方法的语法:
super(); 或 super(参数列表);调用父类方法语法:
super.方法名(参数列表);this关键字
this关键字表示当前对象。可用于:
1:调用当前类的构造方法,并且必须是方法的第一条语句。
//地要用默认构造方法 this(); //调用带参构造方法 this(参数);2:限定当前对象的数据域变量。一般用于方法内的局部变量域对象的数据域变量同名的情况。如this.num = num.this.num表示当前对象的数据域变量num,而num表示方法中的局部变量。