今天做一个JAVA作业的时候,遇到了一个错误: 无法从静态上下文中引用非静态 变量 this,错误原因是我把一个正方形的类写在了测试类的里面,然后又在静态main方法中中使用了RegularPolygon b = new RegularPolygon(6,4);。可以有以下两种改正形式 ...
注意: 上述代码运行时:报错 无法从静态上下文中引用非静态 变量,原因是:静态主方法只能访问静态变量 如果要访问动态变量,必须将动态变量实例化。 以上程序运行正确。 说白了,就是在JAVA程序中,除了主静态方法以及类方法之外,其他在该类下定义的实例变量 实例方法,在主类方法中调用时必须要将其实例化,说白了就是要加上对象的引用: 比如: 某个对象.变量 某个对象.方法 以上程序也可以实现相同的功能 ...
2015-12-20 17:45 0 3293 推荐指数:
今天做一个JAVA作业的时候,遇到了一个错误: 无法从静态上下文中引用非静态 变量 this,错误原因是我把一个正方形的类写在了测试类的里面,然后又在静态main方法中中使用了RegularPolygon b = new RegularPolygon(6,4);。可以有以下两种改正形式 ...
为什么静态方法不能调用非静态变量,非静态方法可以引用静态变量? 理由很简单,静态方法不属于对象,是属于类的,是不需要实例化的,而非静态变量是属于对象的,需要先实例化。在一个类的静态成员中去访问其非静态成员之所以会出错是因为在类的非静态成员不存在的时候类的静态成员就已经存在了,访问一个内存中不存在 ...
问题:字段初始值设定项无法引用非静态字段、方法或属性的问题 在类中 变量赋值其他变量报错? public class TestClass{ public TestClass() { } public int a=1; public int b= a;//注意 此处 ...
设定项无法引用非静态字段、方法或属性} C#规定在类内部只能定义属性或者变量,并初始化,不能直 ...
属性或变量,不能变量引用变量。 原因与各种属性的内存的分配顺序有关,没太理解上去,别这么用就行了 ...
生命周期不同:非静态成员变量随着对象的创建而存在;静态成员变量随着类的加载而存在 调用方式不同:非静态成员变量用 对象名.变量名 调用;静态成员变量用 类名.变量名,JDK1.7以后也能用对象名.变量名调用 别名不同:非静态成员变量也称为实例变量;静态变量称为类变量 数据存储 ...
关于静态变量和非静态变量的区别 静态变量:被static修饰的变量,加载类的时候被创建,不随对象的创建而改变,静态变量位于方法区,类消失对应的变量消失。 非静态变量:不被static修饰的变量,每创建一次对象,就会为变量分配 ...