JAVA中,非静态方法可以调用静态成员变量吗?

如题所述

当然可以。
1.
静态成员变量和静态成员方法都是属于类而不是某一个具体实例的,静态成员(包括属性和方法)是在类加载阶段就已经初始化了的,所以当某一个实例访问静态成员的时候,静态成员肯定是已经存在了的,所以可以访问。
2.反过来,如果让静态方法去访问实例成员那就不行了,因为实例成员的初始化在静态成员之后
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-03-05
非静态的是属于某个对象的。
你在静态方法中调用,到底调用哪个对象啊?系统不知道啊。
所以不允许了。

JAVA中,非静态方法可以调用静态成员变量吗?
当然可以。1. 静态成员变量和静态成员方法都是属于类而不是某一个具体实例的,静态成员(包括属性和方法)是在类加载阶段就已经初始化了的,所以当某一个实例访问静态成员的时候,静态成员肯定是已经存在了的,所以可以访问。2.反过来,如果让静态方法去访问实例成员那就不行了,因为实例成员的初始化在静...

非静态方法能不能调用静态变量
Java里的静态变量相当于C语言里的全局变量,但使用时要指出所在的类,所以在非静态方法里使用静态变量时是没有问题的。

非静态方法可以调用静态方法与变量吗
Java中非静态方法可以调用静态方法与变量,如下:package com.test;public class TestA {\/** * 静态变量a *\/private static int a=1;public static void main(String[] args) {\/\/非静态方法在main函数里只能用对象调用,main方法也静态方法TestA testA=new TestA();\/\/非静态方法里面有设置静态变量...

java中静态方法与非静态方法的区别
Java中静态方法与非静态方法的区别:1. 方法定义与调用方式:静态方法使用`static`关键字定义,可以通过类名直接调用,无需创建类的实例。非静态方法则需要在创建类的对象后才能通过对象来调用。2. 访问特点:静态方法不能直接访问非静态变量或非静态方法,因为这些需要依赖具体的对象,而静态方法是在类加...

java 中是不是 只有静态方法 才能调用静态的成员变量
应该是静态方法只能调用静态变量 你想想,假如你用静态方法调用非静态变量,当类没有初始化的时候就可以使用静态方法,但是这个时候,非静态变量还未产生呢. 编译都会报错的

java中static作用详解
3. **访问限制**:静态方法不能直接访问类的非静态成员(变量和方法),因为非静态成员是依赖于特定实例的,而静态成员则不属于任何实例。反之,非静态方法可以访问静态成员。4. **工具类**:`static`常用于创建工具类(如数学工具类Math),其中的方法都是静态的,可以直接通过类名调用,无需创建...

java:非static方法能否调用static方法
假如一个Girl是一个类 他的名字就是static的,他男朋友可以喊这个名字,其他人也可以喊这个名字 他的身体就是非static的了,只有他男朋友才能调用,为什么呢,以为他男朋友拥有了这个Girl对象 名字就不用了,拥有Girl对象与否,都可以调用 除非他隐藏自己的名字(private修饰)...

java中静态方法和非静态方法的区别
1、调用方式区别:静态方法可以直接通过类名调用。非静态方法需要通过对象实例调用。2、对象依赖区别:静态方法不依赖于任何对象实例,可以独立地执行。在静态方法中,不能直接访问类的非静态成员,非静态成员需要通过对象实例来访问。非静态方法依赖于对象实例,需要通过对象来调用。在非静态方法中,可以直接...

java non-static variable this cannot be referenced from a...
可以的。类可以有内部类,具体问题。具体再追问。错误提示是说:非静态变量类型不能在静态上下文中引用。(1)你的;main方法是static的,即静态的。(2)如果你将类包含在里面的话,需要将printchar声明为静态的。才能在main方法中引用。

以下java代码40行41行报"无法从非静态方法中引用静态方法"为什么怎么改...
因为main()方法是 static 修饰的静态方法,所以在他的里面不能运行非静态的方法或者把非静态的值赋给它里面的静态变量,出现上述情况就会报你说的错误。解决方法就是在方法前面加static,比如:public static void constractor(){} 希望对你有帮助!

相似回答
大家正在搜