Java 抽象类(JavaAbstractClass)

//手机 请 上下左右 滑动屏幕 观看更全 !

// package Main;

/**
 *@Overview(概述):
 * @Explain(说明):
 *      抽象类的本质上是属于一个加强型的类,它可以描述一切有关于现实事物,
 *      但是通过分析发现其实抽象类的设计应该是比类占据更高一层定义的,
 *      他的最大好处就是对子类的方法进行统一管理和通过自身提供有的一些普通方法
 *      并可以通过这些普通方法可以调用抽象方法(必须在子类提供有实现时才会生效)。
 * @Usage:
 *      abstract是抽象修饰符,
 *      抽象类:1、抽象类必须要有子类继承 2、且不能直接new 3、其子类必须对父类抽象方法覆写,
 *     /4、不能用final修饰 5、可以有构造方法
 *      抽象方法:1、必须覆写继承自父类的全部方法 2、不能使用final关键字
 *      3、可以使用static并且使用不收abstract的任何影响。
 * @time(时间):2019/04/22
 * @role(谁):东方神祇(杨)
 *
 * @modify(修改)
 * @time:
 * @role:
 */

public class abstractClass {
    public static void main(String[] args) {
        System.out.println("机器人...") ;
        action robotAction = new robot() ;
        robotAction.command(1+3+10) ;

        System.out.println("人...") ;
        action personAction = new person2() ;
        personAction.command(1+3+10) ;

        System.out.println("猪...") ;
        action pigAction = new pig() ;
        pigAction.command(action.EAT+action.SLEEP+action.WORK);

    }
}

abstract class action{
    private String type ;
    public static final int EAT =1 ;
    public static final int SLEEP =3 ;
    public static final int WORK =10 ;
    public abstract void eat() ;
    public abstract void sleep() ;
    public abstract void work() ;
    public void command(int code){
        switch(code){
            case EAT:{
                this.eat() ;
                break ;
            }
            case SLEEP:{
                this.sleep() ;
                break ;
            }
            case WORK:{
                this.work();
                break ;
            }
            case EAT + SLEEP + WORK:{
                this.eat() ;
                this.sleep() ;
                this.work() ;
                break ;
            }
        }
    }

}


class robot extends action{
    @Override
    public void eat() {
        System.out.println("机器人,充电补充能量!") ;
    }
    @Override
    public void sleep(){
        System.out.println("机器人是不睡觉的哟...") ;
    }
    @Override
    public void work(){
        System.out.println("机器人按照固定的城式进行工作");
    }
}

class person2 extends action{
    @Override
    public void eat() {
        System.out.println("人吃饭,劲挑好吃的!") ;
    }
    @Override
    public void sleep(){
        System.out.println("人翻着睡觉");
    }
    @Override
    public void work(){
        System.out.println("脑力动物所以要有想法的工作!");
    }
}

class pig extends action{
    @Override
    public void eat() {
        System.out.println("猪吃猪草!") ;
    }
    @Override
    public void sleep(){
        System.out.println("猪琨着睡觉");
    }
    @Override
    public void work(){
        System.out.println("猪!是要上餐桌的,你居然喊他工作!");
    }
}

/*---------------------

作者:东方神祇 
本文链接:https://my.oschina.net/yangmufa/blog/3083689

版权声明:
      本文为博主原创文章,转载请附上源文链接!

 如果觉得我的论文对您有用,您的请评论点赞与
 合理优质的转发也将是鼓励支持我继续创作的动力!
---------------------*/

转载于:https://my.oschina.net/yangmufa/blog/3083689

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值