Java中main函数只能调用同类中的静态方法?

Java中main函数只能调用同类中的静态方法?我在主类中写了一个public方法。提示错误、要转换为static、为什么、主函数不可以调用本类中的非静态方法?... Java中main函数只能调用同类中的静态方法?
我在主类中写了一个public方法。提示错误、要转换为static、为什么、主函数不可以调用本类中的非静态方法?
展开
 我来答
小河感n
2013-09-25 · TA获得超过460个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:148万
展开全部
这么给你说把 静态方法、变量都是属于类的,当你调用类时那些静态方法和属性就已经存在了,也就是说直接调用类名.属性/方法名就可以,而非静态属性和方法必须得实例化对象才能调用,你可以这么理解,当程序跑到静态方法里时,非静态方法这时还是未存在的,
不过静态调用非静态也是可以的,不过不能直接调用罢了,你得先实例化对象后再调用才行
追问
哦哦、、谢谢!!!
追答
楼主给分呀
赤壁赋白
推荐于2017-11-29 · TA获得超过988个赞
知道小有建树答主
回答量:338
采纳率:100%
帮助的人:231万
展开全部
public class TT{
public static void main(String[] args){
TT t = new TT();
t.fun();
}
void fun(){
System.out.println("hehe");
}
}

如果想调用本类中的非静态方法可以这么来写。

追问
public class First {
public static void main(String[] args) {

InPut("shuzu");
}

public static void InPut(String t){
System.out.println(t);
}
}
为什么InPut方法少了static就不行?
追答
对于一般的非static成员变量或方法,需要有一个对象的实例才能调用,所以要先生成对象的实例,他们才会实际的分配内存空间。而对于static的对象或方法,在程序载入时便已经分配了内存空间,他只和特定的类想关联,无需实例化。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
527313028
2013-09-25 · 超过13用户采纳过TA的回答
知道答主
回答量:98
采纳率:100%
帮助的人:47.9万
展开全部
mian调用本类方法,都是掉用static的。你可以把你写的那个方法封装一下,封装到一个类中,然后在main中new一个该类对象,调用该方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gozhangqing12
2013-09-25
知道答主
回答量:42
采纳率:0%
帮助的人:32.6万
展开全部
可以,看代码:
public class SSss {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SSss s = new SSss();
System.out.println(s.xxx("cccc"));
}
String xxx(String aa){

aa += "*OK*";
return aa;
}
}
必须可以!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
海鲜原产地直发
2021-02-19 · TA获得超过1365个赞
知道答主
回答量:25
采纳率:100%
帮助的人:6601
展开全部

如果不想深究可以记住一句话:静态成员方法只能访问静态成员

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式