JAVA基础问题啊 详细解释下谢谢了。小弟基础很差
publicclassTest_1{publicstaticvoidmain(String[]args){publicstaticintmax(inti,intj,int...
public class Test_1 {
public static void main(String[] args) {
public static int max(int i,int j,int k) {
if(i>j&&i>k)
return i;
else if(j>i&&j>k)
return j;
else if(k>i&&k>j)
return k;
else
return 0;
}
System.out.println(max(2,2,2));
}
}
这样写会报错的。如果把静态max方法卸载main()方法上面就没问题,这里面有什么规则吗?如果改到上面而把static去掉 下面在调用时候也会报错吗?为什么?谢谢各位给解释清楚啊 展开
public static void main(String[] args) {
public static int max(int i,int j,int k) {
if(i>j&&i>k)
return i;
else if(j>i&&j>k)
return j;
else if(k>i&&k>j)
return k;
else
return 0;
}
System.out.println(max(2,2,2));
}
}
这样写会报错的。如果把静态max方法卸载main()方法上面就没问题,这里面有什么规则吗?如果改到上面而把static去掉 下面在调用时候也会报错吗?为什么?谢谢各位给解释清楚啊 展开
6个回答
展开全部
方法和属性都是一个类的成员,方法内的变量是局部变量,是属于方法的,而方法本身是属于类的,是类的成员,如果方法嵌套方法,那该方法就属于外层方法和java规范冲突了,所以这个是不允许的。即方法中不可以定义另一个方法,只能调用。方法的定义只能在类中,或者匿名类中。如果你想运行,就把max方法放到main方法的下边,然后直接在main方法中调用max方法就行了,当然,因为main方法是静态的,静态的方法中只能调用静态的方法,所以你定义的max方法也必须是静态的
展开全部
方法内不能再定义方法,只能调用方法。
静态方法的内容吧不能调用非静态方法,因为静态方法不是使用对象调用,而非静态方法必须用对象调用。
静态方法的内容吧不能调用非静态方法,因为静态方法不是使用对象调用,而非静态方法必须用对象调用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
方法中嵌套方法是不允许的。
main方法是静态方法,只能直接调用静态方法或成员变量,而如果把max的static去掉,则报错,除非你new 一个该类的实例,通过该实例去调用非静态方法
main方法是静态方法,只能直接调用静态方法或成员变量,而如果把max的static去掉,则报错,除非你new 一个该类的实例,通过该实例去调用非静态方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不能【直接】在方法里面写方法。
方法之间都是并列关系。
方法之间都是并列关系。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class Test_1 {
public static int max(int i,int j,int k) {
if(i>j&&i>k)
return i;
else if(j>i&&j>k)
return j;
else if(k>i&&k>j)
return k;
else
return 0;
}
public static void main(String[] args) {
System.out.println(max(2,2,2));
}
}
其实做程序要学会模块化、结构化;
你那样的写法还真是没看到过……可能也是我学的不好!!一般公司能就是这样写的
仅供参考!!
public static int max(int i,int j,int k) {
if(i>j&&i>k)
return i;
else if(j>i&&j>k)
return j;
else if(k>i&&k>j)
return k;
else
return 0;
}
public static void main(String[] args) {
System.out.println(max(2,2,2));
}
}
其实做程序要学会模块化、结构化;
你那样的写法还真是没看到过……可能也是我学的不好!!一般公司能就是这样写的
仅供参考!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你只要记住mian方法是执行方法,里面是执行语句,不能放方法。
public class Test_1 {
public static int max(int i,int j,int k) {
if(i>j&&i>k)
return i;
else if(j>i&&j>k)
return j;
else if(k>i&&k>j)
return k;
else
return 0;
}
public static void main(String[] args) {
System.out.println(max(2,2,2));
}
}
public class Test_1 {
public static int max(int i,int j,int k) {
if(i>j&&i>k)
return i;
else if(j>i&&j>k)
return j;
else if(k>i&&k>j)
return k;
else
return 0;
}
public static void main(String[] args) {
System.out.println(max(2,2,2));
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询