错误是:non-static variable this cannot be referenced from a static context main函数是静态函数,系统运行程序是它是入口,即先调用他。但是系统不创建此类的实例,所以不能用this指针 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static void main(String[] args){ ShowDate o = new ShowDate() ; System.out.println(o.aaa()); } 没有实例化的类只能调用其静态方法请先实例化ShowDate类,再调用aaa()或者改为静态方法String static aaa(){} 第一种方法:用对象来调用,向楼上的做法第二种方法:把方法声明成static aaa() ;就可以因为你在这一个类(ShowDate)里就不可以了,程序认为是aaa()是non-static类你可以把程序拆成两个类来试试《-----仁者见仁,智者见智-----〉 this只用于方法内部,它负责返回调用这个方法的对象的feference。你可以把this对象的reference当作任何对象的reference,它常用于return语句以返回当前对象的referencestatic它的意思是,这个方法没有this。 import java.util.*;public class ShowDate{ String aaa(){ String asp=Calendar.toString(); return asp; }public static void main(String[] args){ ShowDate date = new ShowDate() ; System.out.println(date.aaa()); }} 楼上的代码请问你编译通过了吗?我这里编译通不过!这是我的代码:import java.util.*;import java.text.SimpleDateFormat;public class ShowDate{ String aaa(){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calendar.getInstance(); Date FDate=cal.getTime(); String asp=sdf.format(FDate); return asp; }public static void main(String[] args){ ShowDate date = new ShowDate() ; System.out.println(date.aaa()); }} non-static的方法是不能在static方法中直接调用的。解决有两种方法:1.把aaa()定义为static;2.在main()中先创造一个本类的对象,比如ShowDate day=new ShowDate();然后再调用day.aaa()就可以了。 为什么键盘事件,当窗口上有其他组件的时候不能响应,一个空的窗口就响应? 求网络编程代码 批量高效计算素数的算法 怎么解析这段XML? Java 初始化的老问题 初学J2SE,不知道改找些什么书籍??? java的虚拟机出问题了,怎么办? short a=2;//A是什么值?int or short,下面程序出错。 IE5.5怎么无法观看jdk自带demo里的applet啊? 现在面向银行开发一套系统,银行是否提供有账户余额查询的接口,有没有做过面向银行开发的专家? j2se j2ee j2me到底什么区别? java J2SE 与J2EE,J2ME
ShowDate o = new ShowDate() ;
System.out.println(o.aaa());
}
请先实例化ShowDate类,再调用aaa()
或者改为静态方法String static aaa(){}
第二种方法:把方法声明成static aaa() ;就可以因为你在这一个类(ShowDate)里就不可以了,程序认为是aaa()是non-static类你可以把程序拆成两个类来试试
《-----仁者见仁,智者见智-----〉
static它的意思是,这个方法没有this。
String aaa(){
String asp=Calendar.toString();
return asp;
}public static void main(String[] args){
ShowDate date = new ShowDate() ;
System.out.println(date.aaa());
}
}
import java.util.*;
import java.text.SimpleDateFormat;
public class ShowDate{
String aaa(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
Date FDate=cal.getTime();
String asp=sdf.format(FDate);
return asp;
}public static void main(String[] args){
ShowDate date = new ShowDate() ;
System.out.println(date.aaa());
}
}
解决有两种方法:
1.把aaa()定义为static;
2.在main()中先创造一个本类的对象,比如ShowDate day=new ShowDate();然后再调用day.aaa()就可以了。