static的疑问????(10分)

  • 主题发起人 主题发起人 kem
  • 开始时间 开始时间
K

kem

Unregistered / Unconfirmed
GUEST, unregistred user!
自定义的类如下:
public class kem {
public kem() {
prt("kem is created.");
}
private static void prt(String str){
System.out.println(str);
}
public static void main(String[] args) {
kem kem1 = new kem();
prt("main() runed.");
}
}
由于main函数中调用的函数prt需申明成static,但是在构造函数kem()中也调用了prt打印函数,请问,是应该再写一个函数(如下:)还是把原来的这个static的prt函数给kem()用呢??有什么讲究吗??
private void prt1(String str){
System.out.println(str);
}
多谢!!
 
运行一下就知道了。
按道理应该不用,因为static函数是在构造函数运行前产生的。
 
类里面的所有函数在构造函数里面都可以调啊,不管事static的还是普通的。

 
可以调用
因为你的main是本类使用,可以调用本类的静态方法,不管这个方法是private还是static
但是这个prt函数因为被声明成private,所以它不能被类外调用.
例如,如果你将main中的prt改为kem1.prt将报错.
另外,个人觉得尽量少用static方法为妙.你可以将prt函数声明为public void(动态)
然后在main中用kem1.prt调用.
另外,构造函数可以调用任何本类函数.
 
sorry
"不管这个方法是private还是static"
应该为
"不管这个方法是private static 还是public static"
 

Similar threads

I
回复
6
查看
251
I
回复
8
查看
346
小猪
W
回复
5
查看
318
wait_for_love
W
后退
顶部