今天学习了继承中的super关键字、访问特点、注意事项。
super关键字的作用和this关键字很相似。this关键字用来访问本类中的成员变量,super用于继承中访问父类的内容。
public class fu { public class zi extends fu{ public class tset{
public fu() { public zi(){ public static void main(String[] args){
System.out.println("f"); System.out.println("t"); zi z=new zi();
} } z.zi();
public fu(int age) { public zi(int age){ super.fu(age);
System.out.println("u"); System.out.println("d"); }
} }
super可访问成员变量、构造方法、成员方法。
构造方法访问的特点:子类中所有的构造方法默认都会访问父类中无参构造方法。每个子类构造方法第一条默认都是super()。
解决父类中没有无参构造的方法:①通过super()访问父类中的带参构造;②自己在父类中添加一个无参构造。
成员方法的访问特点:通过子类对象访问一个方法 子类成员范围->父类成员范围->报错。它比在方法中访问一个变量少一个步骤。
方法重写:子类中出现和父类中一摸一样的方法声明。 应用:子类需要父类的功能,而功能子类特有内容时。
public class phone{ public class newphone extends phone{
@Override
public void call(String name){ public void call(String name){
System.out.println("给"+name+"打电话"); System.out.println("给"+name+"打电话") ;
} super.call(name);
} }
}
@Override 能够帮助我们检查方法重写声明的正确性。
注意事项:①私有方法不能被重写(父类私有方法不能被子类继承);②子类方法访问权限不能低于父类(public>默认>private,每一个方法之前都有一个默认访问权限)。
Java中继承的注意事项:①Java只支持单继承,并不支持多继承;son extends father,monther 错误。
②Java支持多层继承。father extends grandfather son extends father 可以进行。