• 子类的继承性,子类与对象


    子类的继承性

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

    People.java

    package JiCheng;
    
    public class People {
        int age,leg=2,hand=2;
        protected void showPeopleMess() {
            System.out.printf("%d岁,%d只脚,%d只手	",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
    ",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
    ",x,y,result);
            System.out.print("会做乘法:");
            result=geng.multi(x, y);
            System.out.printf("%d*%d=%d
    ",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访问权限的方法作为子类的方法。

    子类与对象

    实例:

    package duixiang;
    
    class People{
        private int averHeight=166;
        public int getAverHeight() {
            return averHeight;
        }
    }
    
    class ChinaPeople extends People{
        int height;
        public void setHeight(int h) {
            //height=h+averHeight;   //非法,子类没有继承averHeight,averHeight为private成员变量
            height=h;
        }
        
        public int getHeight() {
            return height;
        }
    }
    
    public class Yuduixiang {
    
        public static void main(String[] args) {
            ChinaPeople zhangSan=new ChinaPeople();
            System.out.println("子类对象未继承的averHeight的值是:"+zhangSan.getAverHeight());
            zhangSan.setHeight(178);
            System.out.println("子类对象的实例变量height的值是:"+zhangSan.getHeight());
        }
    
    }
  • 相关阅读:
    单片机编程时易错总结 20181015 项目:3060-A
    UCOS 多任务系统中需要注意的地方 一个任务至少要有一些执行内容
    LDO-AMS1117
    DCDC与LDO
    电容器的ESR
    Class AB与Class D功放
    驻极体麦克风
    音频处理的技术指标
    I2S接口工作原理
    有关功放输入端的探究
  • 原文地址:https://www.cnblogs.com/liyajuan333/p/11671896.html
Copyright © 2020-2023  润新知