作用(意义)
共性抽取:子类抽取父类当中 public、protected修饰的成员(成员属性和成员方法)
特点
子类可以继承(拥有)父类当中public、protected修饰的所有成员,并且子类也可以拥有自己的成员,自己的成员在父类中是不可使用的
格式
/*************Fu.java****************/
public class Fu{
// ...
}
/*************Zi.java****************/
public class Zi extends Fu{
// ...
}
继承间成员的访问
父类、子类、局部变量名重复、冲突时访问规则
/**************************Fu.java*********************************/
public class Fu{
String name = "父亲";
public void show(){
System.out.println("父类show");
}
}
/**************************Zi.java*********************************/
public class Zi extends Fu{
String name = "儿子";
@override
public void show(/*name*/){
System.out.println("子类show");
//使用父类中name
//super.name
//使用参数name
//直接写name
//使用自己类当中的name
//this.name
}
}
/**************************Run.java********************************/
public static void main(String[] args){
Zi z = new Zi();
String name = "Run";
System.out.println(name); //Run 局部变量
System.out.println(z.name); //儿子 子类中的成员属性覆盖父类
z.show(); //子类show 子类中的成员属性覆盖父类
show(); //Run类show
Fu f = new Fu();
System.out.println(f.name); //父亲 父类中的成员属性覆盖父类
f.show(); //父类show 父类中的成员属性覆盖父类
}
public static void show(){
System.out.println("Run类show");
}
方法名重复时访问规则——方法的重写
super、this关键字的使用可以解决成员变量以及成员方法名冲突的问题
super()可以用来调用父类中的构造方法
this()可以用来调用当前类中的其他构造方法
继承中的权限
修饰符 | 类内部 | 同包内 | 子类内 | 其他中 |
---|---|---|---|---|
private | yes | no | no | no |
default | yes | yes | no | no |
protected | yes | yes | yes | no |
public | yes | yes | yes | yes |