在java编程中如何引用非静态变量?谢谢

如题所述

非静态的变量的话就需要,首先生成一个类的对象,然后通过对象调用变量来使用,如果是静态的变量的话就简单了,直接拿类名.方法名即可(静态的成员是随着类的加载而加载,所以可以直接通过类名来调用,)
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-06-11
面向对象,类先创建实例
~
~
~
~

java无法从静态上下文引用非静态方法
在Java编程中,初学者有时会遇到一个常见问题,即在静态上下文中引用非静态变量。非静态方法的引用问题源于静态方法与非静态变量之间的概念差异。静态方法与非静态变量分别代表了不同的编程场景。静态方法可以在没有创建实例的情况下使用,这是因为它们与特定类相关联,而不是特定的实例。与此相反,非静态...

java主方法如何调用非静态方法?
在非静态方法Method_1中访问静态成员变量“学生姓名”(studentName)在method_1中直接调用非静态成员变量subject(科目)在主方法main()中只能通过对象来调用非静态成员变量subject 4、分析代码 public static void main(String[] args) { \/\/NOstaticMethod.Method_1(); 在静态方法main中是不能直接调用...

Java中 无法从静态上下文中引用非静态 变量 this
在类DuiLie的前面加上static,因为static void main函数是静态函数,只能调用静态成员,不能调用动态成员

java中无法从静态上下文中引用非静态 变量 i while(i>0)
静态方法只能调用外部静态变量和静态方法,因为你的main()方法是静态方法,而你想去引用外面定义的非静态变量(i和j)当然就不行了,所以可以将i和j改成静态的或着将i和j的定义方到main方法里面去。1、static int i,j;2、main(){ int i,j;} 总结:静态方法只能引用外部的静态方法和静态变量,...

java为什么不能在静态方法中使用非静态变量
静态方法是不用创建对象就直接调用,所以在静态方法中没有this指针,不能访问所属类的非静态变量和方法,只能访问方法体内的局部变量、自己的参数和静态变量,而非静态变量是给一个类的实例化对象调用的,一个是类调用,一个是类对象调用,所有在静态方法中是不能使用非静态变量的。实例:上面出错的原因...

java中main方法里面调用非静态方法。
非静态方法()的方式来访问!static是一种访问修饰符,在java中可以修饰代码块、方法和属性 1、静态块:用于在类加载之前完成一些初始化操作,仅会执行一次 2、静态方法:可以使用类名和对象调用,只能直接访问静态成员,无法访问非静态成员 3、静态属性:可以使用类名和对象名调用,多个对象共享 ...

java中一个类想调用另一个类的变量,必须到方法里面吗,直接在类里面能不...
java 不能在类中初始化引用,所以不能直接在类中new一个对象出来,要使用其他类的变量,必须在自己的类的方法中先创建被引用类的实例,通过实例来引用该类的变量,但是,如果被引用的类的变量是静态的,则可以通过如下指令引用:类名.变量 来直接引用这个变量。

如何在类外面调用非static方法或类变量?
这里,classname 是类的名字,在该类中定义static方法。可以看到,这种格式与通过对象引用变量调用非static方法的格式类似。一static变量可以以同样的格式来访问——类名加点号运算符。这就是Java如何实现全局功能和全局变量的一个控制版本。下面是一个例子。在main()中,static方法callme()和static变量b在...

...出现了问题:无法从静态上下文中引用非静态变量subName和fpi
因此在一个静态的方法中是不能直接访问非 static 变量,我们必须知道你想访问的是哪个对象实例的状态,也就是说我们必须用 myInstance.fieldA 这种方法来访问,这也要求我们手上必须有一个对象实例。所以你的代码中:Sub sub=new Sub();System.out.println("Sub.subName= "+Sub.subName);这个 Sub...

求教JAVA外部类 无法从静态上下文中引用非静态 方法
public static void main(String a[]){ Outer outer=new Outer();Inner inner=outer.new Inner();\/\/内部类的实例应该是:外部类实例名称+逗号+内部类实例;也可以用:Inner inner = new Outer().new Inner();inner.test();\/\/方法的调用是:类的实例名称+逗号+方法 } class Inner { void ...

相似回答