作者calais007 (浅水中)
看板java
标题Re: [问题] 关於static
时间Thu Aug 17 17:21:59 2006
※ 引述《ahli (ahli)》之铭言:
: 不好意思,小弟最近拿起java复习,
: 刚爬过文,也看了书想了很久...
: 关於static的解释还是不完全了解,
: 下面po上我的想法与问题,
: 观念有错误的话还劳烦大大指证...
: 我的想法是这样的:
: 贯上static的method应该是跟类别有关系,不是用物件来呼叫,
: 而是直接用class.method XXX 来呼叫.
: 所以它跟物件应该是没有关系的,method本身也没有位址.
: 这是它跟一般用物件呼叫的method不同的地方.
: 我的问题是...
: 1.main也是static method,为什麽他可以用new来建立物件,
: 这些物件是用来呼叫实例变数与函数的 (ex:CCircle c1=new CCircle())
: 不是说static method不能存取实例变数与函数吗?
static method不能存取现今所在的class的非static 的data member(也就是this指标)
new出来的instance可以
例如
public class a{
int var = 1;
public static void main(String [] args){
var = 0; <---error,这是不合法的
}
}
: 2.我在看上课笔记的时候有看到,static method可以存取区域变数,
: 请问那是指,method自己独有的变数吗?
: 麻烦各位大大了..
static method 存取在他scope下的local variable
例如
public static void main(String [] args){
int i=0; <---第2点指的是这个
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.123.105.36