您的位置:首页 > 其它

abstract

2015-12-07 14:48 204 查看
普通类就是一个完善的功能类,可以直接产生对象并且可以使用,里面的方法都是带有方法体的,

而抽象类之中最大的特点是包含了抽象方法,而抽象方法是只声明而未实现(没有方法体)的方法。

思考:为什么抽象类对象不能够直接new?

一个类的对象实例化之后,可以调用类中的属性和方法,但是抽象类之中的抽象方法没有方法体,如果这样直接调用,那么不就乱了吗?

抽象类的使用原则:

抽象类必须有子类;
子类(如果不是抽象类)则必须覆写抽象类之中的全部抽象方法;
抽象类对象可以使用对象的向上转型方式,通过子类来进行实例化操作。

关于抽象类的若干疑问?

抽象类能否使用final定义? 不能,因为抽象类必须有子类,final定义的类太监类,不能有子类;
抽象类之中能否包含构造方法?可以,因为抽象类之中除了包含抽象方法之外,还包含了普通方法和属性,而属性一定要在构造方法执行完毕之后才可以进行初始化操作;
抽象类之中能否不包含抽象方法?可以,抽象类之中可以没有抽象方法,但是反过来讲,如果有抽象方法,则一定是抽象类,即使抽象类之中没有抽象方法,也不能够被直接实例化;
抽象类能否使用static 声明?如果定义 的是外部抽象类,则不能够使用static声明,可是如果定义的是内部抽象类,那么这个内部的抽象类使用了static声明之后 ,就表示是一个外部的抽象类。

抽象类的应用----------模板

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: