Java中,类不实例化就能调用方法吗?

王朝知道·作者佚名  2009-08-13
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

初学Java不久,刚才在读Thinking in java时,发现一段代码很奇怪,P类可以不用实例化就直接调用方法,我感觉是需要先用new实例化一个对象再调用方法才对啊,哪位高手能指点一下?

*下面是书中的代码

//: com:bruceeckel:tools:P.java

// The P.rint & P.rintln shorthand.

package com.bruceeckel.tools;

public class P {

public static void rint(String s) {

System.out.print(s);

}

public static void rintln(String s) {

System.out.println(s);

}

} ///:~

你可以使用这个便捷工具来打印String,无论它是否需要换行(P.rintln( ))。

你可以猜到,这个文件的位置一定是在某个以一个CLASSPATH位置开始,然后接着是

com/bruceeckel/tools的目录下。编译完之后,你就可以用import语句在你系统

上的任何地方使用P.class文件了。

//: c05:ToolTest.java

// Uses the tools library.

import com.bruceeckel.tools.*;

import com.bruceeckel.simpletest.*;

public class ToolTest {

static Test monitor = new Test();

public static void main(String[] args) {

P.rintln("Available from now on!");

P.rintln("" + 100); // Force it to be a String

P.rintln("" + 100L);

P.rintln("" + 3.14159);

monitor.expect(new String[] {

"Available from now on!",

"100",

"100",

"3.14159"

});

}

} ///:~

參考答案:

注意static 关键字.静态方法不依赖实例的状态,无需实例化.

调用一个静态方法就是“类名.方法名”,静态方法的使用很简单如你所示。一般来说,静态方法常常为应用程序中的其它类提供一些实用工具所用,在Java的类库中大量的静态方法正是出于此目的而定义的。

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航