关于java 的一点不解 大虾帮忙

来源:百度知道 编辑:UC知道 时间:2024/07/13 05:20:49
public class exam_2{
public static void main(String[] args){
yes_no(1990);
yes_no(2000);
yes_no(2008);
}
public static void yes_no(int year){
if((year%4 == 0)&&((year%100 != 0)|(year%400 == 0)))
System.out.print(year+"年是闰年。");
else
System.out.print(year+"年不是闰年。");
}
}
这个程序的line 7 为什么是static void,这个是什么意思??

public static void main(String[] args){

这个方法是static的,他直接调用的方法,也必须是static的。

否则你必须new一个对象出来,通过对象调用,比如

new exam_2().yes_no(1990);
才行了

void就是无返回值,这里只做了print,
static就是静态的,与实例无关,只要是这个类的对象调用它都是一样的

你也可以不定义为静态的,只是调用前先实例化exam_2,然后调用yes_no方法;代码把yes_no定义为静态主要是省去实例化而直接调用而已,没特别意思