或者声明抽象。请问怎么解决?
在java中,出现了问题说缺少方法主体,或者声明抽象。请问怎么解决?谢谢class person { String name;//成员变量,实例变量 static String country ="CN";//静态的成员变量,类变量 public static void show();//用了static了 就可以调用show函数了 { System.out.println(name+":::"+country); } } class StaticDemo { public static void main(String[] args) { //person p=new person(); //p.name ="zhangsan"; //p.show(); //System.out.println(p.country); System.out.println(person.country); } }
(1)你没有理解类和类实例的关系,类是对一个拥有数据和方法的信息的定义,而类实例则是由这些定义派生得到的一个数据体;比如:Person是一个人的定义,也就是一个类,而人张三就是类Person的实例;因此他们之间是由很多的区别的;例如:static修饰的属性或者方法属于类的属性和方法,为所有的类实例所共享,类属性和方法由编译器在编译的时候作特殊处理,jvm在加载的时候就生成,保存在特殊位置;没有使用static修饰属性属于类实例的属性,在运行是通过实例化类对象才能产生,保存在堆中;因此类的方法不能处理类实例的属性;你的show方法被定义为类方法,但是在要访问类实例属性name,编译要出问题; (2)java的语句需要分号来表示结束,但是方法定义不需要分号,你的show方法后面有个分号,编译出现问题; (3)按照java的惯例,类名第一个字母要大写,类实例第一个字母要小写;你的person类于此惯例有违背。
你第四行public static void show();多了分号了。把分号去掉。把name也设为static就不会报错了。希望能帮到你
答:比如说在API文档中java.long包里面的math类里的max(int a, int b)方法就是静态的方法,他的作用是返回两个整数中的大值,调用它的方法就...详情>>
答:google "java 缓冲池"详情>>
答:百度里搜张孝祥 非常好的视频教程详情>>