Java关键词解读之abstract
来源:互联网 发布:林肯mac 编辑:程序博客网 时间:2024/05/18 02:01
解释:抽象,抽象的
------------------------------------------------------------------
用法:类修饰符的一种,可以用来修饰类,方法。
被修饰的类不能够实例化(即不能用new关键字得到对象),
被修饰的方法不能够实现。
一个抽象类中不一定要有抽象方法,但是一个类里面有抽象方法就一定是抽象类。
如果由类要继承抽象类的话,必须要实现里面的抽象方法。构造方法和静态方法不可以修饰为抽象。
------------------------------------------------------------------
abstract 关键字可以修改类或方法。
abstract 类可以扩展(增加子类),但不能直接实例化。
abstract 方法不在声明它的类中实现,但必须在某个子类中重写。
-示例-
public abstract class MyClass{}public abstract String myMethod();
-注释-
采用 abstract 方法的类本来就是抽象类,并且必须声明为 abstract。
abstract 类不能实例化。
仅当 abstract 类的子类实现其超类的所有 abstract 方法时,才能实例化 abstract 类的子类。这种类称为具体类,以区别于 abstract 类 。
如果 abstract 类的子类没有实现其超类的所有 abstract 方法,该子类也是 abstract 类。
abstract 关键字不能应用于 static、private 或 final 方法,因为这些方法不能被重写,因此,不能在子类中实现。
final 类的方法都不能是 abstract,因为 final 类不能有子类。
------------------------------------------------------------------
1> abstract抽象用在类的声明中来指明一个类是不能被实例化的,但是可以被其他类继承。一个抽象类可以使用抽象方法,抽象方法不需要实现,但是需要在子类中被实现。它的用途是向子类提供通用的信息。抽象类可以包含正常的类包含的任何东西,也就是说,类和实例变量,以及带有任何修饰词的方法。只有抽象类可能有抽象方法。如果一个不是抽象的类包含一个抽象方法,那么将会出现编译错误。
例子:如果下列的一个成立,那么一个有抽象方法:
a.它显式的声明了一个abstract方法。
b.它从它的直接父类继承了一个抽象方法。
c.一个直接的类的父借口声明或继承了它的一个方法(这因此必须是abstract)
2>如果用户声明private,static,和final方法为abstarct,编译错误将出现。不可能重设一个private方法,因为一个abstarct private永远不能被实现。static方法总是可用的,因此必须有一个实现;static abstract将永远没有实现。final方法不能被重设,因此不回有final abstract方法的实现。
原文地址
- Java关键词解读之abstract
- [Java] abstract 关键词
- 小白笔记-------------------java关键词abstract
- SEO优化之解读长尾关键词
- 浅析java中final,static和abstract关键词
- Java学习之final关键词
- Java之final关键词详解
- java之抽象类:abstract
- Java之抽象abstract关键字
- Java基础之abstract关键字
- 学java教程之super关键词
- Java之this关键词的使用详解
- java之abstract class和interface
- java拾遗之abstract class 与 interface
- Java之抽象类(abstract关键字)
- 《新劳动合同法》关键词解读
- 解读十八大商务关键词
- java关键词
- Shell中的变量
- 1437 [CA1006]The area of triangle
- bzoj3048[Usaco2013 Jan]Cow Lineup 单调队列
- IMWeb提升营Day4 | 训练题20:包含min函数的栈
- ubuntu14.04下Qt5.8的安装
- Java关键词解读之abstract
- Linux设备驱动之Hotplug_uevent机制
- 1002. 写出这个数 (20)
- Hadoop遇坑填坑汇总
- 1438 [CA1002]Circle
- workbench导出mysql5.6数据出错
- 链表操作
- Java中内部类可以被覆盖吗
- 未能加载文件或程序集 ICSharpCode.SharpZipLib