java abstract抽象类

本文介绍了Java中的抽象类概念,包括其定义方式、应用场景、作用及使用规则等关键内容。通过实例说明了抽象类如何帮助开发者更好地组织代码结构,并强调了抽象类在父类与子类之间的继承关系中所扮演的角色。

java abstract抽象类
1、定义
抽象类:使用abstract关键字修饰,则该类为抽象类。
2、应用场景:
a、在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法
(抽象类约束子类必须有哪些方法,但并不关注子类怎么去实现这些方法。)
b、从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性。
3、作用:
限制规定子类必须实现某些方法,但不关注实现细节。
4、使用规则:
a、abstract定义抽象类
b、abstract定义抽象方法,只有声明,不需要实现,而且抽象方法没有方法体,以分号结尾,不需要大括号。

public abstract class absClass {
    public abstract void call();
    public abstract void message();
    public void lanya(){
        System.out.println("我具有蓝牙通信功能!");
    }
}

抽象类中可以有自己的数据成员(一般不会有)
c、包含抽象方法的类是抽象类
d、抽象类中可以包含普通的方法,也可以没有抽象方法
e、抽象类不能直接创建,可以定义引用变量
f、抽象方法必须为public或者protected,否则不能被继承

### Java 中实现抽象类中的抽象方法 在 Java 中,抽象类中的抽象方法必须由其子类进行实现。抽象方法没有具体的方法体,只定义了方法的签名(包括返回类型、方法名和参数列表)。子类通过 `extends` 关键字继承抽象类,并使用 `@Override` 注解来实现父类中的抽象方法[^1]。 以下是一个完整的示例,展示如何在 Java 中实现抽象类中的抽象方法: ```java // 定义一个抽象类 Shape abstract class Shape { // 抽象方法 draw(),没有方法体 abstract void draw(); } // 子类 Circle 继承自 Shape 并实现抽象方法 draw() class Circle extends Shape { @Override void draw() { System.out.println("绘制一个圆形"); } } // 子类 Rectangle 继承自 Shape 并实现抽象方法 draw() class Rectangle extends Shape { @Override void draw() { System.out.println("绘制一个矩形"); } } // 测试类 public class TestAbstractClass { public static void main(String[] args) { // 创建子类对象并调用抽象方法 Shape shape1 = new Circle(); shape1.draw(); // 输出: 绘制一个圆形 Shape shape2 = new Rectangle(); shape2.draw(); // 输出: 绘制一个矩形 } } ``` 在上述代码中: - 抽象类 `Shape` 包含一个抽象方法 `draw()`。 - 子类 `Circle` 和 `Rectangle` 分别实现了 `draw()` 方法[^2]。 - 在主程序中,通过创建子类对象调用了抽象方法 `draw()`,展示了多态性[^3]。 #### 注意事项 - 抽象类不能直接实例化,只能通过其非抽象子类来创建对象[^4]。 - 如果子类没有实现所有继承的抽象方法,则该子类也必须声明为抽象类。 ### 总结 在 Java 中实现抽象类中的抽象方法时,需要确保子类对每个抽象方法都提供具体的实现。如果子类未实现所有抽象方法,则该子类也必须声明为抽象类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值