• 抽象类的实际应用demo


    package chouxiangleidemo;
    /*
     * 写一个抽象类的实际应用demo,人分为学生和工人,学生和工人都可以说话,但是呢说话的内容不一样
     * 这个 我们就可以把人作为一个抽象类,学生和工人作为子类去继承人
     */
    public class yingyongdemo {
    public static void main(String[] args) {
        //student s = new student("wangwu",89,78.9f);
        //s.say();
        //worker w = new worker("liuwei",54,990);
        //w.say();
        //上面的是实例化子类分别去调用子类的方法获得的,下方我通过对象转型来实现
        person p1 = new student("wangsi",89,77f);
        p1.say();
        person p2 = new worker("wangyi",86,99900);
        p2.say();
    }
    }
    //写抽象类:人
    abstract class person{
        //写一些人的属性,姓名,年龄,并进行封装
        private String name;
        private int age;
        public void setname(String name){
            this.name =name;
        }
        public String getname(){
            return name;
        }
        public void setage(int age){
            this.age =age;
        }
        public int getage(){
            return age;
        }
        //写一个构造方法为属性赋值,构造方法不能有返回值类型
        public  person(String name,int age){
            this.name = name;
            this.age = age;
        }
        // 写一个抽象方法:说话,让子类是复写说话的内容
        public abstract  void say();
    }
        //写一个学生类去继承人
    class student extends person{
        //定义一个学生自己的属性
        private float fenshu;
        //写一个student自己的构造方法
        public student(String name,int age,float fenshu){
            super(name,age);
            this.fenshu = fenshu;
        }
        //去实现父类中的say方法
        public void say(){
            System.out.println("student :"+super.getname()+super.getage()+this.fenshu);
        }
    }
    //写一个工人的类去继承人
    class worker extends person{
        //写一个工人自己的属性
        private int gongzi;
        //写一个工人自己的构造方法
        public worker(String name,int age, int gongzi){
            super(name,age);
            this.gongzi = gongzi;
        }
        //去实现父类中的say方法
        public void say(){
            System.out.println("worker: "+super.getage()+super.getname()+this.gongzi);
        }
    }
        
  • 相关阅读:
    关于CI/CD/CD (Continuous Integration/Continuous Delivery/Continuous Deployment)
    linux bash变量替换(# ## % %% / //)
    Azure静态公网ip自助反解
    Hadoop HDFS HA启动出现两个StandBy NameNode
    yum反查某个命令或so库在哪个包里面
    Hadoop 新建集群namenode format
    命令行web客户端与HTTP REST API调试工具
    Linux下source文件两种方法
    Redis配置参数汇总
    Jenkins RestAPI调用出现Error 403 No valid crumb was included in the request
  • 原文地址:https://www.cnblogs.com/yuanyuan2017/p/6561927.html
Copyright © 2020-2023  润新知