【无标题】

Java中的抽象类是一种特殊类型的类,它不能被实例化,只能被继承。抽象类可以包含抽象方法和非抽象方法。抽象方法是没有具体实现的方法,需要在子类中被具体实现。非抽象方法则是有具体实现的方法,可以在抽象类中被直接调用。

使用抽象类可以使代码更加灵活和可扩展。通过定义抽象类和抽象方法,可以确保子类必须实现这些方法,从而避免了在子类中重复编写相同的代码。

在Java中,定义抽象类需要使用关键字抽象。示例如下:

public abstract class Animal {
    public abstract void makeSound();
    public void sleep() {
        System.out.println("Zzz");
    }}

在这个例子中,Animal类是一个抽象类,包含一个抽象方法makeSound()和一个非抽象方法sleep()。由于makeSound()没有具体实现,所以Animal类必须被定义为抽象类。子类必须实现makeSound()方法才能被实例化。

当一个类继承自一个抽象类时,它必须实现抽象类中定义的所有抽象方法。如果一个类没有实现它从抽象类中继承的所有抽象方法,那么它自身也必须成为抽象类。

以下是一个继承抽象类的示例:

abstract class Animal {
    public abstract void move();
}
class Dog extends Animal {
    public void move() {
        System.out.println("Dog can walk and run");
    }}

在这个例子中,Animal 是一个抽象类,它定义了一个抽象方法 move()。Dog 类继承了 Animal 类,并实现了 move() 方法。由于 Dog 实现了 Animal 中定义的所有抽象方法,它不再是一个抽象类。

抽象方法是一种没有具体实现代码的方法,它只有方法名、参数列表、返回值类型和修饰符,没有方法体。它必须被子类实现后才能被调用。在Java中,可以通过在方法前加上abstract关键字来定义一个抽象方法,而抽象方法所在的类必须是抽象类。抽象方法的主要作用是在定义规范时提供一种接口,让子类去实现。

抽象类总结规定

  • 1. 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过。只有抽象类的非抽象子类可以创建对象。

  • 2. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。

  • 3. 抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。

  • 4. 构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。

  • 5. 抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值