作者BadKido (BadKido)
站内java
标题Re: [问题] static method
时间Mon Jun 19 18:29:45 2006
※ 引述《justinC (无)》之铭言:
: ※ 引述《qrtt1 (隐者)》之铭言:
: : 因为你没有正确产生test物件, 所以不能呼叫test的方法
: : public class test {
: : public static void main(String args[]) {
: : System.out.print(new test().more(2, 4, 4, 4));
: : }
: : public int more(int... num) {
: : int total = 0;
: : for (int a : num)
: : total += a;
: : return total;
: : }
: : }
: 还有问题
: 虽然没产生物件
: 但是在同class 底下 使用function还要加个static
: 一直想不出为什麽一样都是class下的member function还要这样做呢?
: 谢谢~
==站内文件==
嗯 先想清楚static的用意
static是用来产生一个"class专属"的"共用"资料成员或方法
并不属於个别的"object"
也就是说static成员 是属於此class(类别)所专有 且不是object
所以也就没有this参考
又因为宣告static的方法 没有this参考 所以在static方法中
不能使用non-static成员 因为没有this参考(等於没有参考的位址)
他无法抓出你想要抓出的static里的成员
另外main之所以用static是因为初始化时
利用static来 首先产生一个实体
然後才由main来初始化其他的物件 开始整个程式
你可以参考良葛格学习笔记 里面提到很多基本的概念
相信很有帮助
下面是有关static的部分
http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/AboutStaticMember.htm
若有错误 烦请纠正 谢谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.117.169.23