100天代码提升计划-第11天
继承(一)
概述
继承主要解决的问题:共性抽取
特点:子类可以拥有父类的内容,子类还可以拥有自己的内容
继承的格式
注意:如果子类要调用父类的内容一定要有extends
格式 :public class 子类名称 extends 父类名称{ }
一、主方法
1.子类对象
package Demo07; public class Method { public static void main(String[] args) { //创建子类对象 Teacher teacher=new Teacher(); teacher.essential(); //创建子类对象 Assistant assistant=new Assistant(); assistant.essential(); } }
二、父类
1.子类想调用的内容
package Demo07; //父类 public class Staff { public void essential(){ System.out.println("方法执行"); } }
三、子类
1.子类自己的内容
子类①
package Demo07; public class Assistant extends Staff{ }
子类②
package Demo07; //创建一个子类 public class Teacher extends Staff { }
继承中成员变量的访问特点
在父子类继承关系当中,如果成员变量重名,则创建子类对象时有两种形式
①直接子类对象访问成员变量
等号左边是谁,就优先用谁,没有再往上边找
②间接通过成员方法访问成员变量
方法属于谁就用谁,没有向上找
父类
package Demo07; public class FU { int numfu=200; int num=100; public void fuextends(){ System.out.println(num); } }
子类
package Demo07; public class Zi extends FU { int numzi=500; int num=400; public void ziextends(){ System.out.println(num); } }
主方法
package Demo07;
public class Extends {
public static void main(String[] args) {
FU fu=new FU();
//父类对象只能调用父类的内容
System.out.println(fu.numfu);
Zi zi=new Zi();
//子类对象既可以调用子类的内容也可以调用父类的内容
System.out.println(zi.numfu);
System.out.println(zi.numzi);
System.out.println("----------------------");
zi.ziextends();//这个方法是子类的,优先找子类,没有在想上找
System.out.println("----------------------");
System.out.println(zi.num);//如果子类中有这个变量则调用子类的内容,没有则想上找
}
}

浙公网安备 33010602011771号