博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
黑马程序员-面向对象-07天-1 (抽象类描述)
阅读量:7085 次
发布时间:2019-06-28

本文共 1099 字,大约阅读时间需要 3 分钟。

package itcast.day07;/* * 当多个类中出现相同功能,但是功能主体不同, * 这是可以进行向上抽取。这时,只抽取功能定义,而不抽取功能主体。 * 抽象类的特点:  * 1,抽象方法一定在抽象类中。 * 2,抽象方法和抽象类都必须被abstract关键字修饰。 * 3,抽象类不可以用new创建对象。因为调用抽象方法没意义 * 4,抽象类中的抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用。 *    如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。 *     *    抽象类和一般类没有太大的不同。 *    该如何描述事物,就如何描述事物,只不过,该事物出现了一些看不懂的东西。 *    这些不确定的部分,也是该事物的功能,需要明确出现。但是无法定义主体。 *    通过抽象方法来表示。 *    抽象类比一般类多个了抽象函数。就是在类中可以定义抽象方法。 *    抽象类不可以实例化。 *    特殊:抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。 *    abstract 关键字,和哪些关键字不能共存。 *    final:被final修饰的类不能有子类。而被abstract修饰的类一定是一个父类。 *    private: 抽象类中的私有的抽象方法,不被子类所知,就无法被复写。 *    而抽象方法出现的就是需要被复写。 *    static:如果static可以修饰抽象方法,那么连对象都省了,直接类名调用就可以了。可是抽象方法运行没意义。 *     *     *    抽象类中是否有构造函数? *    有,抽象类是一个父类,要给子类提供实例的初始化。 */abstract class Student {    abstract void study();    void sleep() {        System.out.println("躺着");    }}class BaseStudent extends Student {    @Override    void study() {        System.out.println("BaseStudent");    }}public class AbstractDemo {    public static void main(String[] args) {    }}

 

转载于:https://www.cnblogs.com/guwenren/archive/2013/03/27/2985639.html

你可能感兴趣的文章
Flutter:ListView-ScrollPhysics 详细介绍(翻译)
查看>>
解决 SpringBoot 没有主清单属
查看>>
SAX解析Excel
查看>>
[译] 在 Android P 中使用默认的 TLS 来保护你的用户
查看>>
学习日记 - Object.defineProperty
查看>>
Spring注解专题系类(二)
查看>>
python3、ipython3、setup-tools、pip等环境搭建详细总结
查看>>
react更新state的时候要返回一个全新的引用或者值
查看>>
MobIM-API说明
查看>>
如何在常见业务场景中使用React Hook
查看>>
数据结构系列3 线性表顺序映像的Java实现
查看>>
vue中v-model
查看>>
flex实战
查看>>
python file 文件操作笔记
查看>>
对于MySQL你必须要了解的锁知识
查看>>
从三流小公司到一线大厂,聊聊程序员的成长之道
查看>>
ClassPlaceholder插件:动态修改jar包class文件
查看>>
浅谈Netty中的ChannelPipeline
查看>>
快速排序
查看>>
一个Android渣渣终于拿到了一个offer
查看>>