博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
抽象类
阅读量:6805 次
发布时间:2019-06-26

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

    通常可以说四边形具体有4条边,或者更具体一点,平行四边形具有对边平行且相等特性的特殊四边形,等腰三角形是其中两条边相等的三角形,这些描述都是合乎情理的,但对于图形对象却不能使用具体的语言进行描述,它有几条边,究竟是什么图形,没人能说清楚,这种类在Java中定义为抽象类。

    在解决实际问题时,一般将父类定义为抽象类,需要使用这个父类进行继承与多态处理。回想继承和多态原理,继承树上越是在上方的类越抽象,如鸽子类继承鸟类、鸟类继承动物类等。在多态机制中,并不需要将父类初始化对象,我们需要的只是子类对象,所以在Java语言中设置抽象类不可以实例化对象,因为图形类不能抽象出任何一种具体图形,但它的子类却可以。

抽象类的语法如下:

public abstract class Test{

           abstract void testAbstract();       //定义抽象方法

}

    其中,abstract是定义抽象类的关键字。

    使用abstract关键字定义的类称为抽象类,而使用这个关键字定义的方法称为抽象方法,抽象方法没有方法体,这个方法本身没有任何意义,除非它被重写,而承载这个抽象方法的抽象类必须被继承,实际上抽象类除了被继承之外没有任何意义。

    反过来讲,如果声明一个抽象的方法,就必须将承载这个抽象方法的类定义为抽象类,不可能在非抽象类中获取抽象方法。换句话说,只要类中有一个抽象方法,此类就被标记为抽象类。

    抽象类被继承后需要实现其中所有的抽象方法,也就是保证相同的方法名称、参数列表和相同返回值类型创建出非抽象方法,当然也可以是抽象方法。

    

    

转载于:https://my.oschina.net/wf1994/blog/678813

你可能感兴趣的文章
AspectJ的基本使用
查看>>
python-常见快捷方式
查看>>
hdu6103 Kirinriki(trick+字符串)
查看>>
WebGL 3D 电信机架实战之数据绑定
查看>>
基于 HTML5 Canvas 的电信机柜 U 位动态管理
查看>>
C++11 function函数用法
查看>>
斐波纳契博弈
查看>>
oracle redo日志文件损坏恢复
查看>>
python 访问权限
查看>>
新手向-同步关键字synchronized对this、class、object、方法的区别
查看>>
樱道,空蝉,雨空,夏恋,雨道,彩月,幻昼,惊梦,白夜。这些纯音乐
查看>>
企业运维岗位笔试真题
查看>>
[翻译]通往T-SQL的楼梯
查看>>
Oracle计算时间差函数
查看>>
django-pure-pagination使用方法
查看>>
ubuantu 18.04 LTS 版本解决网易云安装启动问题
查看>>
Java分享笔记:泛型类的定义与使用
查看>>
springCloud全实战超详细代码demo+笔记
查看>>
Golang 知识点总结
查看>>
Bitmap
查看>>