静态方法怎么调用私有变量

来源:7-5 什么是 Java 中的内部类

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());

}

}


写回答 关注

3回答

  • 迷途的旅人
    2019-12-03 23:00:31
    已采纳

    在其中实例化类,进行调用。

    但是在本例中在getScreen的实例化的对象与类CS2的中的实例化不同,getScreen无法去调用在CS2中的类所用的量值。要么将变量screen改为静态的,要么将静态方法改为普通的方法。

  • qq_慕移动2434376
    2020-05-31 16:36:04

    private static float screen;

    public static float getScreen() {

    return screen;

    }

    public void setScreen(float newScreen) {

    screen=newScreen; 

    System.out.println(screen);

    }

    你这本来就不对吧  get的写法也错了。。screen 变成static属性 就能调用 否则 静态方法是不能直接调用静态属性的

  • 慕慕9044048
    2020-05-23 03:56:10

     静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。原因是静态方法属于类,程序运行中先分配内存,而非静态变量属于对象,分配内存在后。这个时间差,会让编译器报错。

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530652 学习 · 6091 问题

查看课程

相似问题