抽象类

抽象类

  1. 用abstract修饰符的类

    • 先建立一个Action的抽象类

      //抽象类: 类 extends:       单继承~      (接口可以多继承)
      public abstract class Action {
          //约束~ 有人帮我们实现~
          //abstract,抽象方法,只有方法名字,没有方法的实现!
          public abstract void doSomeing();
      }
      
    • 既然有人帮我们实现,是谁呢?答:是继承抽象类的子类

    //抽象类的所有方法,继承了它的子类,都必须实现他的方法~,除非他也是抽象类,让子类的子类去继承实现它的方法
    public class A extends Action {//子类继承抽象类必须重写抽象类的方法,否则计会报错
        @Override
        public void doSomeing() {
           // new Action(); 抽象类是不能new的(/不能实例化)
        }
    }
    
  2. 抽象类的注意点:

    • 不能new这个抽象类,只能靠子类去实现它;抽象类的抽象方法只是一个约束!(理解成法律)
    • 抽象类中可以写普通的方法~
    • 抽象方法必须在抽象类中~
    • 抽象的抽象(抽象方法):约束!
  3. 思考:new,存在构造器吗?答:不存在构造器,这个抽象类都不能被实例化,都没有public Action()这个构造方法,说明没有默认的构造器。

在这里插入图片描述

  1. 抽象类存在的意义:

    eg: 游戏创建一个角色,创建这个角色很麻烦,但是我们可以把这个角色的公共属性抽象出来,我每创建一个角色,我们就去继承它的抽象类重写它的方法,改掉一些特殊的东西,说白了就是节省代码,提高开发效率。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值