Java抽象

1 定义

Java的抽象包括 抽象方法抽象类 ,二者在定义的时候需要加上abstract 前缀。

  • 抽象方法 :只定义了方法名,未对方法本身进行定义。抽象方法 只能在抽象类 中定义,定义的规则是,加上 abstract 关键字,然后去掉大括号,直接以分号结束。
  • 抽象类抽象方法 所在的类,其不能直接构造对象。定义的规则是,在 class 前加上 abstract 即可。
2 抽象类和抽象方法的使用
  1. 抽象类 不能直接对象(即使不包含 抽象方法 也不能),其必须通过子类进行继承。
  2. 子类继承 抽象类 父类,必须把父类中所有抽象方法 覆盖重写,并且去掉 abstract
  3. 创建子类对象进行使用。
3 一个例子
package AllDemos.Demo1;
// 定义一个抽象类Animal,其中eat()为抽象方法。
public abstract class Animal {
    public abstract void eat();
}
package AllDemos.Demo1;
// 构造Cat子类对抽象类Animal进行继承,并且重写了eat()方法。
public class Cat extends Animal {
    @Override
    public void eat() {
        System.out.println("猫吃鱼");
    }
}
package AllDemos.Demo1;

public class DemoMain {
    public static void main(String[] args) {
//        Animal animal = new Animal();  // 错误写法,不能直接创建抽象类对象
        Cat cat = new Cat();  //子类将抽象类的抽象方法覆盖重写之后才能创建子类对象
        cat.eat();
    }
}
4 注意事项
  • 抽象类 中,可以有构造方法,是提供给子类创建对象时,初始化父类使用的。即子类的构造方法中,有默认的 super()优先访问父类的构造方法。
  • 抽象类 中,不一定包含 抽象方法 ,但 抽象方法 一定在 抽象类 中。
  • 抽象类 的子类必须重写抽象父类所有的 抽象方法 ,否则无法编译通过,除非该子类也是 抽象类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值