子类的继承性

时间:2019-10-14
本文章向大家介绍子类的继承性,主要包括子类的继承性使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一:子类和父类在同一个包中的继承性

People.java

package JiCheng;

public class People {
    int age,leg=2,hand=2;
    protected void showPeopleMess() {
        System.out.printf("%d岁,%d只脚,%d只手\t",age,leg,hand);
    }
}

Student.java

package JiCheng;

public class Student extends People{
    int number;
    void tellNumber() {
        System.out.println("学号:" + number);
    }
    int add(int x,int y) {
        return x+y;
    }
}

UniverStudent.java

package JiCheng;

public class UniverStudent extends Student{
    int multi(int x,int y) {
        return x*y;
    }
}

fangwen.java

package JiCheng;

public class fangwen {
    public static void main(String[] args) {
        Student zhang=new Student();
        zhang.age=17;    //访问继承的成员变量
        zhang.number=100101;
        zhang.showPeopleMess();        //调用继承的方法
        zhang.tellNumber();
        
        int x=9,y=29;
        System.out.print("会做加法:");
        int result=zhang.add(x, y);
        System.out.printf("%d+%d=%d\n",x,y,result);
        
        UniverStudent geng=new UniverStudent();
        geng.age=21;    //访问继承的成员变量
        geng.number=6609;    //访问继承的成员变量
        geng.showPeopleMess();    //调用继承的方法
        geng.tellNumber();    //调用继承的方法
        
        System.out.print("会做加法:");
        result=geng.add(x, y);    //调用继承方法
        System.out.printf("%d+%d=%d\n",x,y,result);
        System.out.print("会做乘法:");
        result=geng.multi(x, y);
        System.out.printf("%d*%d=%d\n",x,y,result);
    }
}

运行结果如下:

17岁,2只脚,2手 学号:100101
会做加法:9+29=38
21岁,2只脚,2只手 学号:6609
会做加法:9+29=38
会做乘法:9*29=261

二:子类和父类不在同一包中的继承性

  当子类和父类不在同一个包中时,父类中的private和友好访问权限的成员变量不会被子类继承,也就是说,子类只继承父类中的protected和public 访问权限的成员变量作为子类的成员变量;同样,子类只继承父类中的protected和public访问权限的方法作为子类的方法。

原文地址:https://www.cnblogs.com/liyajuan333/p/11671896.html