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);//如果子类中有这个变量则调用子类的内容,没有则想上找



}
}

 

posted @ 2022-03-12 23:08  软测成长者  阅读(29)  评论(0)    收藏  举报