java基础 抽象类

java基础 抽象类1 抽象类 1 1 抽象类概念 在面向对象的概念中 所有的对象都是通过类来描绘的 但是反过来 并不是所有的类都是用来描绘对象的 一个类中没有包含足够的信息来描绘一个具体的对象 这样的类就是抽象类 在打印图形例子中 我们发现 父类 Shape 中的 draw 方法好像并没有 java 基础 抽象类什么实际工作 主要的绘制图形都是由

大家好,我是讯享网,很高兴认识大家。



1. 抽象类

1.1 抽象类概念

在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的。

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

在打印图形例子中, 我们发现, 父类 Shape 中的 draw 方法好像并没有java基础 抽象类什么实际工作, 主要的绘制图形都是由 Shape 的各种子类的 draw 方法来完成的. 像这种没有实际工作的方法, 我们可以把它设计成一个 抽象方法(abstract method), 包含抽象方法的类我们称为 抽象类(abstract class) 

1.2 抽象类语法

在Java中,一个类如果被 abstract 修饰称为抽象类,抽象类中被 abstract 修饰的方法称为抽象方法,抽象方法不用 给出具体的实现体。

 
讯享网 

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

1.3 抽象类特性 

1. 抽象类不能直接实例化对象

讯享网

2. 抽象方法不能是 private 的

 

 3. 抽象方法不能被final和static修饰,因为抽象方法要被子类重写

讯享网

4. 抽象类必须被继承,并且继承后子类要重写父类中的抽象方法,否则子类也是抽象类,必须要使用 abstract 修 饰

 

 5. 抽象类中不一定包含抽象方法,但是有抽象方法的类一定是抽象类

 

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

 7. 当一个普通类A 继承了一个抽象类,不想重写这个抽象类的方法,此时,可以把这个普通类A改为抽象类。但是如果A这个抽象类再次被普通类B继承,此时B这个类需要重写所有未被重写的抽象方法!

 

总结:


1.一个方法可以被修饰为abstract,此时代表这个方法可以不进行实现。此时被称为抽象方法!
2.如果一个类当中 包含抽象方法,此时这个类必须是抽象类。没有抽象方法,这个类也可以被写为抽象类!
问题:什么情况下 一个类 可以被定义为抽象类?
答:当不能描述具体的一个对象的时候

3.抽象类当中 定义的成员 和普通类没有区别。
4.抽象类不可以被实例化
问题:抽象类 不可以被实例化 那么 存在的意义是什么?
答:为了被继承

5.当一个普通类继承这个抽象类之后,必须重写抽象类当中的抽象方法!
6.抽象类也可以发生向上转型,动态绑定,多态!
7.此时抽象方法也需要满足重写的特点。被static 、final、private修饰都是不能发生重载的!
可以理解为: abstract 和 final 是对立的

8.当一个普通类A 继承了一个抽象类,不想重写这个抽象类的方法,此时,可以把这个普通类A改为抽象类。但是如果A这个抽象类再次被普通类B继承,此时B这个类需要重写所有未被重写的抽象方法!


1.4 抽象类的作用

抽象类本身不能被实例化, 要想使用, 只能创建该抽象类的子类. 然后让子类重写抽象类中的抽象方法

小讯
上一篇 2024-12-25 15:36
下一篇 2024-12-29 22:18

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/4273.html