Java | Cannot make a static reference to the non-static method问题解决

导读:本篇文章讲解 Java | Cannot make a static reference to the non-static method问题解决,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

解决方法:

先实例化类,然后再调用就没有问题了

这样一来都不要加static了

public class A {
	public static void main (String[] args) {
		A a = new A();
		b();
		a.c();
		
	}
	public static void b() {
		
	}
	public void c() {
			
	}
}

说明:

在静态方法中,不能直接访问非静态成员(包括方法和变量)。

因为,非静态的变量是依赖于对象存在的,对象必须实例化之后,它的变量才会在内存中存在。

例如一个类 Student 表示学生,它有一个变量String address。

如果这个类没有被实例化,则它的 address 变量也就不存在。

而非静态方法需要访问非静态变量,

所以对非静态方法的访问也是针对某一个具体的对象的方法进行的。

对它的访问一般通过 objectName.methodName(args……) 的方式进行。

而静态成员不依赖于对象存在,即使是类所属的对象不存在,也可以被访问,它对整个进程而言是全局的。

因此,在静态方法内部是不可以直接访问非静态成员的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/103274.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!