黑马程序员技术交流社区
标题:
这题选什么
[打印本页]
作者:
刘永贵
时间:
2014-3-15 17:49
标题:
这题选什么
QQ截图20140315174759.png
(7.33 KB, 下载次数: 103)
下载附件
2014-3-15 17:49 上传
这题选什么
作者:
王浩龙
时间:
2014-3-15 17:56
嗨,这个程序编译的时候回报错的,你的main函数是static的所以这个方法也必须是静态的。
代码可以作如下修改
public class StringMethods {
public static void main(String[] args) {
int num = getNum();
System.out.println(num);
}
public static int getNum(){
int num = 1;
return num++;
}
}
复制代码
作者:
12560zhang
时间:
2014-3-15 18:00
选A,编译时报错,因为getNum()方法不是静态方法,不能调用
作者:
ok-Prince
时间:
2014-3-15 18:05
编译时会报错,因为静态的方法无法引用非静态的方法,如果要通过编译的话,需在int getNum()前加上“static”。
作者:
乔钰博
时间:
2014-3-15 19:02
main函数是静态的,在静态方法内是不能直接调用非静态方法的,所以选A
作者:
张贺
时间:
2014-3-15 19:30
编译时报错,静态成员中不能直接使用非静态成员!
作者:
李猛
时间:
2014-3-15 20:31
A 主函数是静态的,不能访问非静态的方法
作者:
骑着毛驴去赶
时间:
2014-3-15 22:14
A因为主方法是静态的,静态的方法调用的方法必须是静态的,而getNumf()方法不是静态的,所以在编译时会发生:Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot make a static reference to the non-static method getNum() from the type StringMethods异常应该将getNum()方法加上static
作者:
小龙编程世界
时间:
2014-3-16 19:32
静态方法不能访问非静态方法,非静态可以访问非静态,非静态也可以访问静态的,所以编译错误。。多错错,就会记住了。
作者:
911趣购
时间:
2014-3-16 19:50
A啦 方法都不对应 static是静态的 而int是整型的哦
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2