JAVA中"静态方法中不能直接调用非静态的属性和方法"何以理解?举个例子

那主函数可以new本类,之后用对象调非静态方法啊... 那主函数可以new本类,之后用对象调非静态方法啊 展开
 我来答
smluyi
2008-04-19 · TA获得超过1356个赞
知道大有可为答主
回答量:515
采纳率:0%
帮助的人:803万
展开全部
class test{
public int i=1;
public static int y=2;
public static void doi2()
{
System.out.println("good");
}
public void doi()
{
System.out.println(i);
}
public static void doi3()
{

System.out.println(i);静态方法中不能直接调用非静态的属性
System.out.println(y);正确
doi();这句话也错因为静态方法中不能直接调用非静态方法
doi2();正确
}
}
——————————————————————————————————————————
回楼主,如果你这个对象中有非静态方法的话那是可以调用的,因为非静态方法就是用new出来的对象调用的
army8735
2008-04-19 · TA获得超过111个赞
知道答主
回答量:56
采纳率:100%
帮助的人:58.9万
展开全部
最常见的,main方法必须为静态方法,就不能调用本类中非static的方法。

class Example {
void notStaticMethod() {
}
static void staticMethod() {
}
public static void main(String[] args) {
staticMethod(); //正确
notStaticMethod(); //报错
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式