8.
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 ...";
}
}
答案: 错。看上去在main里call doSomething没有什么问题,毕竟两个methods都在同一个class里。但仔细看,main是static的。static method不能直接call non-static methods。可改成"System.out.println("s.doSomething() returns " + s.doSomething());"。同理,static method不能访问non-static instant variable。
本文深入探讨了Java中类方法的调用机制,特别关注静态方法的使用场景与限制,通过示例代码揭示静态方法无法直接调用非静态方法的本质,并提供修正策略。
1619

被折叠的 条评论
为什么被折叠?



