我宁愿写bug⚠️,也不愿什么都不做 ❗️
💚哈喽!大家好!💚
❤️我是 一看就会,一写就废 的 浩浩🔍❤️
💙让我带你编程带你飞,带你飞进垃圾堆!💙
💜 如果对你有所帮助,请给我点个赞👍!💜
键盘敲烂💥,工资过万💰
文章目录
💚 1. 抽象的概念与定义
❤️ 2. 抽象的特点
💙 3. 抽象类与普通类的异同
💜 3.1 相同点
💛 3.2 不同点
|
-
什么时候使用抽象?
- 当描述一个类的时候,如果一个类不应该有对象,那么该类就可以定义为抽象类,
-
如果不能确定功能方法如何定义,功能方法应该描述为抽象方法
-
抽象类的概念: 如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类
-
抽象类的定义语法:
public abstract class 类名{类体}
-
抽象方法的定义语法:
public abstract 返回值类型 方法名(形参列表);
|
-
抽象类不可以被实例化,也就是不可以用new创建对象 ,但有构造方法,主要用于实例化子类调用抽象类构造方法初始化成员变量。
-
用 abstract 修饰的类就是抽象类。抽象方法必须定义在抽象类中。但是抽象类中不一定有抽象方法。
-
方法只有声明没有实现时,该方法就是抽象方法,需要用 abstract 来修饰,抽象方法必须定义在抽象类中,该类也必须被 abstract 来修饰。
-
抽象类通过其子类实例化,而子类需要覆盖掉抽象类中所有的抽象方法后才可以创建对象,否则该子类也是抽象类。
-
抽象类可以有成员属性和非抽象的成员方法。
-
抽象类可以继承普通类与抽象类。
-
abstract 与其他修饰符的关系:
- ⭐️ final 与 abstract 不能共存 ❗️
- final:它的作用 修饰类代表不可以继承 修饰方法不可重写
- abstract:修饰类就是用来被继承的,修饰方法就是用来被重写的。
- ⭐️ static 与 abstract 不能共存 ❗️
- static修饰的方法可以用类名调用,对于 abstract 修饰的方法没有具体的方法实现,所以不能直接调用,也就是说不可以与static共存。
- ⭐️ private 与 abstract 不能共存❗️
- private修饰的只能在本类中使用,abstract 方法是用来被子类进行重写的,有矛盾所有不能共存.
- ⭐️ final 与 abstract 不能共存 ❗️
|
3.1 相同点
- 抽象类和普通类都是用来描述事物的,都在内部定义了成员。
3.2 不同点
- 普通类有足够信息来描述事物,抽身象类描述事物的信息有可能不够充足
- 普通类不能定义抽象方法,只能定义普通方法,抽象类中可以定义抽象方法,同时也可以定义普通方法
- 普通类可以被实例化,抽象类不可以被实例化
🔮(这还不点个赞👍!评论支持🔥一下!)
🍬 最后附上美图一张