1.继承的概述
继承是多态的前提,如果没有继承,就没有多态。
父类:也叫基类,超类
子类,也可以叫派生类
继承解决的主要方法就是共性抽取
继承当中的特点
1.子类可以拥有父类的内容
2.子类还可以拥有自己专有的内容
2.继承的格式
//定义父类的格式:(一个普通类的定义)
public class 类名称{
}
//定义子类的格式
public class 子类名称 extends 父类名称{
}
3.继承中成员变量的访问特点
在父子类的继承当中,如果成员变量重名,则创建子类对象时,访问规则有两种:
1.直接通过子类对象访问成员变量
等号左边是谁,就优先使用谁,没有则向上找
2.间接通过成员方法访问成员变量
该方法属于谁,就优先使用谁,没有则向上找
代码练习:
/**
*Fu类
*/
public class Fu {
int numFu =10;
int num =100;
public void methodFu(){
//使用的是本类当中的,不能向下找子类的
System.out.println(num);
}
}
/**
*Zi类
*/
public class Zi extends Fu{
int numZi = 20;
int num =200;
public void methodZi(){
//因为本类当中有num,访问的是本类的
System.out.println(num);
}
}
public class Demo01ExtendsField {
public static void main(String[] args) {
Fu fu = new Fu();
System.out.println(fu.numFu);
Zi zi = new Zi();
System.out.println(zi.numZi);
System.out.println(zi.numFu);
System.out.println(zi.num);
//到处找不到,就报错
//System.out.println(zi.abc);
//这个方法是子类的,优先使用子类的,没有再向上找
zi.methodZi();
//这个方法是在父类当中定义的
zi.methodFu();//100
}
}