java中有些特殊的类不需要或不能创建实例对象!

来源:互联网 发布:高洛峰php免费视频 编辑:程序博客网 时间:2024/06/05 18:49

一, 不能创建对象的类

抽象类(abstract)不能创建对象。这个大家应该都知道,所以在这里就不班门弄斧了。
简单回顾需要注意的几点:

  1. 包含抽象方法的类,必须声明为抽象类。
  2. 声明为抽象类的类,不一定非要包含抽象方法。
  3. 抽象类包含具体数据和具体方法。
  4. 抽象类不能创建对象,但可以定义对象变量,来引用非抽象子类的对象
Persion p=new Student();//其中Persion是抽象类,p是对象变量,Student是实现了Persion中所有抽象方法的非抽象之类。

之所以强调非抽象子类,是因为扩展(即继承)抽象类的子类有两种类型:
(1)子类还是抽象类:实现了部分抽象方法或没实现任何抽象方法;
(2)非抽象子类:实现了抽象类的全部抽象方法

OK,以上是当做复习吧。但是那些类不需要创建对象,为什么不需要对象呢?

二,不需要创建对象的类

java.lang.Math类。它没有数据域(属性),只封装了功能(行为)。所有的方法都是静态的,即方法是属于类的不需要调用对象类可以直接调用。
其他角度来看,对象的三要素:状态(即数据域值的集合),行为(可以对对象施加的操作),标识(用来辨别具有相同行为和相同状态的对象)。没有数据域,也就是没有状态,都不满足对象三要素,故没必要创建对象,在说假如创建了对象,你的方法去操作谁呢,他就没有数据域。

思考题也是求助?那些方法不能被覆盖(重写)呢??

阅读全文
0 0
原创粉丝点击