首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于static方法解决方法

2012-02-29 
关于static方法static的方法调用是不是只有:1.类的示例.静态方法2.类名.静态方法为什么我在书上还看到直接

关于static方法
static的方法调用是不是只有:
1.类的示例.静态方法
2.类名.静态方法
为什么我在书上还看到直接在另一类里调用静态方法
代码如下:

Java code
class A{int i;}public class VarArgs{  static void f(Object[] x){    for(int i = 0; i < x.length; i++)      System.out.println(x[i]);}public static void main(String[] args){  f(new Object[] {     new Integer(47), new VarArgs(),     new Float(3.14), new Double(11.11) });  f(new Object[] {"one", "two", "three" });  f(new Object[] {new A(), new A(), new A()});  }}

就那个f 前边为什么不要VarArgs呢???

[解决办法]
main()方法和f()同在VarArgs类内 可以不加类名 直接引用静态方法f()
[解决办法]
探讨
main()方法和f()同在VarArgs类内 可以不加类名 直接引用静态方法f()

[解决办法]
你可以看看这个程序。class.forname()方法是将制定的路径的类的.class文件加载到虚拟机


package com.statics.test;

public class Test {

public static void main(String[] args) throws ClassNotFoundException {
Class.forName("com.statics.test.StaticInit");
System.out.println("======================分割线===========================");
f();
//瞧私有方法
privateFunction();
}

public static void f(){
System.out.println("因为f()方法是在Test内部被调用的。因此可以直接用f()来调用该函数。使用Test.f()同样也可以\r\n" +
"注意:main函数是在Test的内部的。为了能让你能够更好的理解。我们再里面调用私有的方法试试就知道了");
}

private static void privateFunction(){
System.out.println("private method");
}
}

class StaticInit{
static{
System.out.println("我被初始化了");
}
}

[解决办法]
楼主没注意到main方法是在VarArgs中的吧,故可直接拿来用了。
[解决办法]
静态方法可以直接调用静态方法
[解决办法]
1L说的很对

热点排行