是否可以在static环境中访问非static变量
时间: 2023-05-28 22:05:22 浏览: 96
不可以。在static环境中只能访问static变量和static方法,因为static变量和方法是属于类的,不依赖于类的实例化对象,而非static变量和方法是属于类的实例化对象的,需要通过实例化对象来访问。在static环境中没有实例化对象,所以无法访问非static变量和方法。
相关问题
static全局变量和非static全局变量
静态全局变量(static global variable)和非静态全局变量(non-static global variable)是在程序的任何地方都能够访问的全局变量。
静态全局变量具有以下特点:
1. 在声明它的文件中可以被访问,但是在其他文件中不可见。
2. 生命周期从程序开始到程序结束,即使在它的作用域外,其值也会保持不变。
3. 在内存中只有一份拷贝,多个文件中对该变量的引用都指向同一块内存。
非静态全局变量具有以下特点:
1. 在声明它的文件中和其他文件中都可以被访问。
2. 生命周期从程序开始到程序结束,即使在它的作用域外,其值也会保持不变。
3. 在内存中只有一份拷贝,多个文件中对该变量的引用都指向同一块内存。
总结来说,静态全局变量只能在声明它的文件中被访问,而非静态全局变量可以在整个程序中被访问。而且它们的生命周期都是从程序开始到程序结束,并且在内存中只有一份拷贝。
6、java.lang提供了java存取数据库能力的包( ) 7、Java语言规定,任何一个子类的构造方法都必须调用其父类的构造方法(包括隐式调用),并且调用父类构造方法的语句必须是子类构造方法的第一条语句() 8、Java的类不允许多重继承,但接口支持多重继承() 9、3.14是float型() 10、case后面可以跟变量() 11、可以在static环境中访问非static变量()
6、java.lang提供了java存取数据库能力的包是错误的,java.lang包提供的是Java语言的基础类,不包含数据库相关的类。
7、Java语言规定,任何一个子类的构造方法都必须调用其父类的构造方法(包括隐式调用),并且调用父类构造方法的语句必须是子类构造方法的第一条语句是正确的。
8、Java的类不允许多重继承,但接口支持多重继承是正确的。
9、3.14是float型是错误的,3.14是double型。
10、case后面可以跟变量是错误的,case后面只能跟常量表达式。
11、可以在static环境中访问非static变量是错误的,static环境中只能访问static变量。
阅读全文