黑马程序员技术交流社区
标题: 很规范啊 怎么有错? [打印本页]
作者: 来明坤 时间: 2012-8-11 21:36
标题: 很规范啊 怎么有错?
public class Something {
public static void main(String[] args) {
Something s = new Something();
System.out.println("s.doSomething() returns " + doSomething());
}
public String doSomething() {
return "Do something ...";
}
}
作者: 杨震 时间: 2012-8-11 21:43
public class Something {
public static void main(String[] args) {
Something s = new Something();
System.out.println("s.doSomething() returns " + doSomething());//这里有问题,调用方法要基于对象(静态除外),应该是sSystem.out.println("s.doSomething() returns " + s.doSomething());
}
public String doSomething() {
return "Do something ...";
}
}
作者: 张立江 时间: 2012-8-11 21:45
- public class Something {
- public static void main(String[] args) {
- Something s = new Something();
- System.out.println("s.doSomething() returns " + doSomething());
- }
- public String doSomething() {//这里加上static关键字就可以了
- return "Do something ...";
- }
- }
- //静态方法不能调用非静态方法。
复制代码
作者: 官文昌 时间: 2012-8-11 21:57
本帖最后由 官文昌 于 2012-8-12 00:48 编辑
java中主函数是静态,所以你调用doSomething()也必须是静态的
静态方法要注意的问题:1, 在静态方法里只能直接调用同类中其他的静态成员(包括变量和方法),不能直接访问类中的非静态成员。这是因为,对于非静态的变量和方法,需要先创建类的对象后才可使用,而静态方法在使用前不用创建任何对象。
2, 静态方法不能以任何方式引用this和super(super在后面讲)关键字,道理与上面一样,静态方法在使用前不用创建任何对象,当静态方法被调用时,this所引用的对象根本没产生。(到继承时会讲到)
作者: 张立江 时间: 2012-8-11 22:07
官文昌 发表于 2012-8-11 21:57 
java中主函数是静态,所以你调用doSomething()也必须是静态的
你回答的这些你自己都懂吗?
这么点时间你能码这么多字?
为什么你的贴子又让我在百度上搜到了 http://shixin20051108.blog.163.c ... 332320096231108198/
别人09年发的贴,你看到了能不能提炼成自己的语言再回答?
照搬照抄,有意思么?
作者: 官文昌 时间: 2012-8-12 00:33
本帖最后由 官文昌 于 2012-8-12 00:43 编辑
张立江 发表于 2012-8-11 22:07 
你回答的这些你自己都懂吗?
这么点时间你能码这么多字?
为什么你的贴子又让我在百度上搜到了 http://sh ...
人家写出来干嘛?我觉得别个总结得很好,我才发来给他看看~~再说这个问题当编译时,就会在控制台提示了~~一个有9分技术分的人连这都会不知道(我现在还真赞成有个发的规范黑马提问题)
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |