抽象类【java】(和普通类的区别)

本文详细介绍了抽象类的概念、语法及特性,包括抽象类的定义、抽象方法的使用规则、抽象类与普通类的区别以及如何在实际工作中正确应用抽象类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

抽象类

​编辑抽象类语法:被“abstract”修饰的类

抽象方法:被“abstract”修饰的方法

抽象类特性:


抽象类

(如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类)

抽象类语法:被“abstract”修饰的类

//抽象类
public abstract class Shape{   
//抽象方法
    abstract public void draw();
}

抽象方法:被“abstract”修饰的方法

抽象类也是类,内部包含普通方法和属性,甚至是构造方法

抽象类特性:

1.抽象类使用abstract修饰

2.抽象类不能被实例化

3.在抽象类中,可以有抽象方法,或者非抽象方法

4.只要包含抽象方法,这个类必须为抽象类

5.当一个普通类继承了这个抽象类,必须重写抽象类当中的抽象方法

6.抽象类存在的最大的意义就是被继承

7.抽象方法不能被private,final,static修饰(必须满足重写规则)

8.当一个子类没有重写抽象的父类方法,可以把当前子类变为abstract修饰

9.抽象类不一定包含抽象方法

10.抽象类可以有构造方法,供子类创建对象时,初始化父类成员变量

抽象类本身不能被实例化 , 要想使用 , 只能创建该抽象类的子类 . 然后让子类重写抽象类中的抽象方法 .
使用抽象类的场景就如上面的代码 , 实际工作不应该由父类完成 , 而应由子类完成 . 那么此时如果不小心误用成父类
, 使用普通类编译器是不会报错的 . 但是父类是抽象类就会在实例化的时候提示错误 , 让我们尽早发现问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值