「java静态成员访问」java静态成员变量

博主:adminadmin 2023-03-17 17:12:08 182

今天给各位分享java静态成员访问的知识,其中也会对java静态成员变量进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 为什么静态方法不能访问成员变量

你说的java中的普通成员是在new一个对象的时候才产生的,而static成员是编译这个类的时候就产生了。有一个先后顺序。方法同理。

所以你写静态方法的时候

没有创建对象实例,所以还没有非静态的成员,所以不能调用

java书上说“静态方法只能访问静态成员”是正确的吗?

你应该没有理解这句话的意思,你说的是通过其他方式来访问非静态成员

而“静态方法只能访问静态成员”说的应该是直接访问。。

比如

class A{

private int a;

static void f()

{

a=1;

}

}

这就是错误的。。

class A{

private static int a;

static void f()

{

a=1;

}

}

这是对的。。这应该就是直接访问了。。

求教大神,java书上说静态方法只能访问静态成员,这句话是不是不太准确

这句话是针对同一个类环境下的,比如说,一个类有多个成员(属性,方法,字段),静态方法A,那么可以访问同类名下其他静态成员,你如果访问非静态成员就不行

Java中静态内部类的成员可以访问外部类的静态变量吗

可以的,静态方法只能调用静态方法,非静态方法也可以调用静态方法,例子如下:

package com.baidu.stati.pack;

public class staticStri {

public String getNames(){

System.out.println("这是一个非静态方法");

return null;

}

public static String getNamesList(){

System.out.println("这是一个静态方法");

return null;

}

public void say(){

getNames();

getNamesList();

}

public static void show(){

getNamesList();

}

}

java 中类的静态方法怎么调用成员变量

静态方法只能直接调用静态成员(包括变量和方法),而不能直接访问类中的非静态成员

静态方法不能以任何方式引用this和super关键字,因为静态方法在使用前不用创建任何实例对象,当静态方法调用时,this所使用的对象根本没有创建

静态方法中不可能再创建静态变量,不会导致方法里面的变量为静态变量  因为方法中的变量都是局部变量,不可能同时为局部变量又同时是静态变量

JVM对每种类型的变量都有自己的存储区域,static有专门的存储区

局部和静态是冲突的,不可能同时作为标识去修饰一个变量

静态方法是可以通过类型来调用的,不过根据类对象来调用也是可以的

静态成员是共享的,任何通过类调用都是可以的

静态方法可以调用静态方法  可以调用非静态方法(通过类对象调用),静态方法可以调用静态成员变量,但是不能调用非静态成员变量(不能直接调用,但是可以通过类对象调用非静态成员变量)

java 为什么实例对象可以访问类的静态成员。

按初始化的先后顺序来考虑即可明白。

类的静态成员不需要有实例对象,在类加载的时候,就可被初始化了。

类的静态成员的初始化,是比类的实例对象要提前完成的,所以实例对象可以访问类的静态成员。

java静态成员访问的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java静态成员变量、java静态成员访问的信息别忘了在本站进行查找喔。