Likeme17
2019-12-02 15:41
public class cS {
private float screen;
public static float getScreen() {
cS cS3=new cS();
return cS3.screen;
}
public void setScreen(Float newScreen) {
screen=newScreen;
System.out.println(screen);
}
}
package canshu;
public class cS2 {
public static void main(String[]args) {
cS cs = new cS();
cs.setScreen(200f);
System.out.println(cs.getScreen());
}
}
在其中实例化类,进行调用。
但是在本例中在getScreen的实例化的对象与类CS2的中的实例化不同,getScreen无法去调用在CS2中的类所用的量值。要么将变量screen改为静态的,要么将静态方法改为普通的方法。
private static float screen;
public static float getScreen() {
return screen;
}
public void setScreen(float newScreen) {
screen=newScreen;
System.out.println(screen);
}
你这本来就不对吧 get的写法也错了。。screen 变成static属性 就能调用 否则 静态方法是不能直接调用静态属性的
静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。原因是静态方法属于类,程序运行中先分配内存,而非静态变量属于对象,分配内存在后。这个时间差,会让编译器报错。
Java入门第二季 升级版
530652 学习 · 6091 问题
相似问题