java抽象类不能实例化?

java中抽象类不可以实例化,这个概念一直在我脑子里。那这行代码是怎么回事?TimeZonetz=TimeZone.getDefault();我查了api,TimeZon... java中抽象类不可以实例化,这个概念一直在我脑子里。那这行代码是怎么回事?TimeZone tz =TimeZone.getDefault(); 我查了api,TimeZone是定义是:public abstract class TimeZone。而且我也查了,java api中也没有TimeZone的实现子类啊...困惑... 展开
 我来答
谬元修宣胭
2020-05-27 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:29%
帮助的人:1165万
展开全部
很简单,抽象类不象具体类那样描述一类具体事物,它是提取多种具有相似性的具体事物的共同特征而产生的,比如,helicoptor,jet,fighter父类plane,有start(),takeOff(),speedUp(),changeDirection()等方法,这是共性,但现实中有一个具体的plane吗?没有,它是抽象出来的,根本不存在。所以实例化一个plane是没有意义的,因此面向对象程序设计机制禁止对象实例化
大雁南飞
推荐于2016-07-02 · 知道合伙人互联网行家
大雁南飞
知道合伙人互联网行家
采纳数:1660 获赞数:26107
编码爱好者

向TA提问 私信TA
展开全部
java抽象类不能实例化。
java抽象类:使用了关键词abstract声明的类叫作“抽象类”。
如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象)。
抽象方法,属于一种不完整的方法,只含有一个声明,没有方法主体。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a313970470
2010-09-30 · 超过10用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:24.1万
展开全部
TimeZone.getDefault();是条用TimeZone里边的getDefault()方法啊,这个方法里边一定是返回了一个TimeZone的子类,所谓的不能实例化是指不能写成:
TimeZone tz =new TimeZone();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhouyicang1990
2010-10-02
知道答主
回答量:25
采纳率:0%
帮助的人:20.8万
展开全部
getDefault()可以是一个static函数,返回的可以是一个匿名内隐类啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zero0087
推荐于2016-11-29 · TA获得超过102个赞
知道小有建树答主
回答量:99
采纳率:0%
帮助的人:100万
展开全部
Java 源代码如下:
public static TimeZone getDefault() {
return (TimeZone) getDefaultRef().clone();
}
然后看getDefaultRef()方法:
static TimeZone getDefaultRef() {
TimeZone defaultZone = defaultZoneTL.get();
if (defaultZone == null) {
defaultZone = defaultTimeZone;
if (defaultZone == null) {
// Need to initialize the default time zone.
defaultZone = setDefaultZone();
assert defaultZone != null;
}
}
// Don't clone here.
return defaultZone;
}
这时defaultZoneTL.get()返回的是InheritableThreadLocal类的对象
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式