Java中main函数只能调用同类中的静态方法?
Java中main函数只能调用同类中的静态方法?我在主类中写了一个public方法。提示错误、要转换为static、为什么、主函数不可以调用本类中的非静态方法?...
Java中main函数只能调用同类中的静态方法?
我在主类中写了一个public方法。提示错误、要转换为static、为什么、主函数不可以调用本类中的非静态方法? 展开
我在主类中写了一个public方法。提示错误、要转换为static、为什么、主函数不可以调用本类中的非静态方法? 展开
5个回答
展开全部
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的对象或方法,在程序载入时便已经分配了内存空间,他只和特定的类想关联,无需实例化。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
mian调用本类方法,都是掉用static的。你可以把你写的那个方法封装一下,封装到一个类中,然后在main中new一个该类对象,调用该方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以,看代码:
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;
}
}
必须可以!
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;
}
}
必须可以!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果不想深究可以记住一句话:静态成员方法只能访问静态成员
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询