java主方法能调用静态方法吗?

public static void growup(int age) { age += 1; }
public static void main(String[] args)
{ String name = "Tom";
int age = 13; growup(age);
System.out.println(name + " grew up. He is " + age + " years old now."); }

可以直接调用的。

在调用静态方法的时候,比如说这个静态方法是在一个类中,直接用类名点方法名,不需要在new出一个对象,然后用new处的对象来调用方法。因为静态方法可以直接用类名调用
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-12
可以的
但你要具体问题具体分析,有的可以,有的不行
比如有一个类:
public class MethodMember{

public int getData(){
return 1;
}
在Main方法中直接这样调用是不正确的
public static void main(String[] args){
System.out.println(getData());
}
}
如果代码改成这样,那就出错了,因为在static主函数中,直接调用了非静态方法,因为MethodMember类根本没有没创建,对上述进行修改,就可得以下两种合法的方法调用

(1)静态化getData()方法
public class MethodMember{

public static int getData(){
return 1;
}

public static void main(String[] args){
System.out.println(getData());
}

备注:对于变量一样,静态的方法只能调用静态的变量
}
(2)创建MethodMember的实例,用实例调用
public class MethodMember{

public static int getData(){
return 1;
}

public static void main(String[] args){
System.out.println(new MethodMember().getData());
}
}追问

你说的这些我懂,但是上面那个程序是答案13岁,就是说方法growup没成功调用!

第2个回答  2012-10-12
可以啊?加入你调用math类中的方法:
sin、cos、tan、sqrt、pow、min、max、average、random.....等方法,
直接写Math.
打点调用就好了,很简单的,静态的方法字体都是斜体的,你自己要仔细看哦...
希望能帮到你.....追问

我是想知道为什么答案是Tom grew up. He is 13 years old now. 岁数不是应该是14吗?

追答

这样做才会改变age的值。

本回答被提问者和网友采纳
第3个回答  2012-10-12
可以的。

控制台输出:Tom grew up. He is 13 years old now.

这里使用了值传递。而非引用传递。
第4个回答  2012-10-12
Java中参数按值传递。
相似回答