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

一, 不能创建对象的类

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

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

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

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

二,不需要创建对象的类

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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明月几时有666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值