作者tkcn (小安)
看板java
标题Re: [问题] static class 的相关概念
时间Sun Mar 13 00:18:56 2011
※ 引述《k43582 (crab)》之铭言:
: 大家好
: static概念不太清楚 想问问大家
: 程式码&问题=>http://nopaste.csie.org/3927d
: 希望好心人 帮我一下
: 谢谢你!!
你缺少的观念有点多,我没办法全部在这里说明,
所以先指出你程式注解有错的部份。
1.
static class Virus {
//static inner class 因为test要标为static 这个也要 否则不过
Virus 加不加 static 跟里头的 method 是不是 static 完全无关,
compile 有错误是其他原因造成的,去查查有关 inner class 的资料吧。
2.
Virus why = new Virus();
//为何这样也可以? static "class"竟然可以建立物件????
static class 本来就可以建立物件。
3.
why.test();
//目的要使用static的test 问题:与下面两行的Math哪里不同??
Math.abs(3.4);
//直接用class名称用 不准建立物件 而Virus可建立 矛盾??
static method 允许你用类别或物件去呼叫
(虽然我不觉得透过物件呼叫有任何好处)
4.
Math a = new Math();
//出错 我要呼叫static的abs() 这边不能建立物件 不懂???
错误讯息应该会告诉你原因: Math 只有 private Constructor。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.78.231
1F:推 chchwy:推这篇 原问把一堆观念搅在一起了 03/13 00:28
2F:推 asilzheng:第4个有点怪 final class可以建物件吧(String) 03/13 00:43
感谢指正 :p
※ 编辑: tkcn 来自: 140.114.78.231 (03/13 00:48)
3F:推 asilzheng:第1个我有点好奇 class有static这个修饰词吗?? 03/13 00:55
有的,但必须是 inner class,一般就叫作 static inner class。
但也有些书认为,那并不是真的 inner class,只是多一层 scope 而已。
可参考:
#1DFPK50o
※ 编辑: tkcn 来自: 140.114.78.231 (03/13 01:01)
4F:→ asilzheng:哦 他是inner class 03/13 00:56