作者aMaa (aMa)
看板java
标题[问题] 类别的方法中为什麽可以建立本身类别的物件?
时间Fri Nov 27 01:48:53 2009
public class Test {
private int num;
private double aa;
public Test(){
num=3;
aa=2.2;
}
public void show(){
System.out.println("ans="+num*aa);
}
public static void main(String[] args) {
Test bb=new Test();
bb.show();
}
}
这是一个Test类别,包含其建构元及属性与方法(show(),main()),
我的问题是... 为什麽类别中的方法(main())可以new本身类别的物件?
我一直以为类别就像范本一样,供给别人new出物件,
但为什麽自已的方法可以new出自已的物件 ?
我被搞混了,转不过来...请大家帮忙
因为这样,我看匿名内部类别及事件处理时一直不能理解其写法 ><
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.168.157.51
1F:推 ogamenewbie:你要不要先 google public static void main 是干麻的 11/27 02:11
2F:推 PttTime:static修饰字的method属於class层级 11/27 02:36
3F:推 SansWord:其实这是好问题耶~牵扯到Compiler怎麽实作这件事 11/27 04:15
4F:推 brianhsu:谜之音:为什麽函数可以呼叫自己?函数不是给人呼叫的吗 11/27 06:48
我知道public static void main是什麽,是JAVA程序的进入点,
但我的疑问是类别不是供给"别的类别"去使用,去new出物件,
这个例子,public static void main也算是Test Class中一个method,
为什麽可以从自已本身的method去new自已本身的物件....?
static修饰字的method属於class层级是什麽意思?所以可以new自已本身类别的物件?
还是即使一般方法也可以new自已本身....?
※ 编辑: aMaa 来自: 140.96.98.77 (11/27 09:34)
5F:→ weiyucsie:都可以吧? 11/27 09:36
6F:推 snowlike:new()是建构另个实体,不是'自己本身';类别只是份设计图 11/27 10:30
7F:推 ogamenewbie:我弄错重点, 抱歉, 你可以考虑 google Singleton, 11/27 12:07
8F:→ ogamenewbie:不过 google 你大概会想打死我... 11/27 12:07
9F:→ ken915007:好奇~为啥你要说供给"别的"类别去使用…应该是给类别去 11/27 12:26
10F:→ ken915007:使用~没限定一定要别的类别可以用吧... 11/27 12:28
11F:→ adrianshum:反倒是我想问 "为什麽不可以 new" ? 11/27 15:50
12F:→ InitialShuk:他卡在 先有蛋还是先有鸡... 可是跟这没关系 11/27 18:59
13F:→ diaplo4:如果在main里加入 bb.main(); 会发生什麽事呢...? 11/27 23:52
main是static方法,只能存取同为static的成员
main只能执行环境使用,不能给外部类别使用
所以不能写成bb.main,也不能把main当一般方法使用
这是我查到的资料
我的确是卡在类别这个范本叙述还没完,中间method就new本身类别的物件,
觉得中间突然new出的物件怎知道该类别後面的叙述...?
今天我有实作测试一下,
不管是public static void main还是一般method都可以new本身类别的物件
只是不知道原理为何?
我再多上网查查好了
谢谢大家意见~
※ 编辑: aMaa 来自: 220.140.4.36 (11/28 01:47)
14F:→ jej:施主..这就要问你 实体和物件分别是什麽意思了?? 11/28 02:23
15F:→ jej:拿资料库来比喻, 实体: 资料库(装好而已) 物件: 有资料的资料 11/28 02:26
16F:→ jej:类别宣告好, 没有newInstance不成物件. newInstance後放在heap 11/28 02:31
17F:→ jej:至於可能会问static method什麽的..那是用reflection写得.. 11/28 02:33
18F:→ jej:或是一些design pattern来帮助物件的形成...暂时不讨论.. 11/28 02:35
19F:→ f953024:原PO听说是我学弟@@? 11/30 14:03
20F:→ aMaa:我是女生 :) 12/01 18:16
21F:推 akaing:注意是只能存取 是指参数部份 你在scope内要怎麽写都可以 01/06 17:24