java静态方法只能访问静态变量?

网友投稿 337 2024-01-09


JAVA中,静态方法中调用全局变量时,为什么全局变量也要设置成静态的,这...

第一种,在静态方法中不实例化一个对象(new Object),这种情况下 静态方法中需要调用的变量和方法都必须是静态的。第二种,在静态方法中实例化一个对象,这种情况下,该实例化的对象中的变量和方法都不需要静态的。

Java类中的静态变量在程序运行期间,其内存空间对所有该类的对象实例而言是共享的,有些时候可以认为是全局变量。

一个先后顺序。静态变量是在编译的时候就划分存储空间了,而非静态变量在运行时在划分存储空间。所以静态变量不能调用非静态变量。专业:你说法有问题:不是静态方法不能存在非静态变量,而是静态方法不能调用非静态变量。

static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。被static修饰的成员变量和成员方法独立于该类的任何对象。

声明为static的变量实质上就是全局变量。

为什么静态内部类的非静态方法只能访问外部类的静态变量,而不可访问外...

. 静态内部类可以有静态成员,而非静态内部类则不能有静态成员。 静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;6 . 非静态内部类的非静态成员可以访问外部类的非静态变量。

也就是说,在非静态内部类中不可以声明静态成员。(2)一般非静态外部类可以随意访问其外部类的成员变量以及方法(包括声明为private的方法),但是如果一个内部类被声明为static,则其在访问包括自身的外部类会有诸多的限制。

静态内部类可以有静态成员(方法,属性),而非静态内部类则不能有静态成员(方法,属性)。静态内部类只能够访问外部类的静态成员和静态方法,而非静态内部类则可以访问外部类的所有成员(方法,属性)。

静态的意思是跟这个类的对象实例没关系,是类范围的,一个类可以生成多个对象,但只有一份静态数据成员。

可以定义,因为,静态内部类也是一个类,类里面可以定义静态成员,也可以定义非静态成员。对于 在静态内部类里面的静态成员和非静态成员的区别在于:静态内部类的非静态成员可以访问外部类的静态变量,而静态成员则不可以。

不过和非静态内部类相比,区别就在于静态内部类没有了指向外部的引用。

Java中静态方法与非静态方法的区别?

静态方法和实例方法的区别主要体现在两个方面:在外部调用静态方法时,可以使用类名.方法名的方式,也可以使用对象名.方法名的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。

静态方法是不允许被子类重写的,但是子类可以覆盖父类的静态方法。子类也不可将父类中的非静态方法重写为静态方法。

非静态方法是相对于静态方法来说的。静态方法使用static关键字来标示,非静态方法没有此关键字。

静态方法从属于类,非静态方法属于对象,静态方法在类加载的时候就已经初始化了,而非静态方法语言对象实例化之后才能初始化。

static修饰的方法称之为静态方法,static修饰的变量叫做静态变量。静态方法也好,静态变量也好,在整个程序运行当中都只会实例化一次,而且是在调用构造方法之后就会实例。

你可以理解为,非静态方法用于对象。静态方法用于工具类。再有一个理解,这两者的区别是,非静态方法隐式的将当前对象作为参数传递了进去。如果全部都是静态方法,那么代码其实就类似C或者BASIC了,不是面向对象了。

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

静态方法只能访问静态成员,实例方法可以访问静态和实例成员。在外部调用静态方法时,可以使用类名.方法名的方式,也可以使用对象名.方法名的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。

这样写正确}对象也可以访问静态成员。A a = new A();System.out.println(a.number) 正确。但是静态方法,只能访问静态成员,因为普通类变量必须实例化对象之后才存在。因此静态方法直接调用未实例化的类变量会报错的。

静态的意思是跟这个类的对象实例没关系,是类范围的,一个类可以生成多个对象,但只有一份静态数据成员。

为什么静态函数只能访问静态的数据成员?

楼主你好:静态成员函数一般情况下只能访问静态成员变量,因为不接受隐含的this指针。带static的变量和函数均为静态变量和静态函数。

静态成员函数能够访问和操作静态数据成员,而且不需要操作实例,因此能够提高程序效率。

由此决定了静态成员函数不能访问本类中的非静态成员。 在C++程序中,静态成员函数主要用来访问静态数据成员,而不访问非静态成员。

函数体 } …};说明:(1)类的静态成员函数只能访问类的静态数据成员,而不能访问类中的普通函数成员(非静态数据成 员),因为普通数据成员只有类的对象存在时才有意义。

java中静态变量的问题

静态变量属于类,不依赖于对象的加载而是依赖于类的加载。

内存空间的使用问题。静态空间在程序结束之前一直存在,从而造成内存空间使用率不高。另一个问题就是如果在函数中使用了静态变量,那么这个函数就会保存上一次调用的一个状态,有时这会导致一些比较微妙的错误。

Q2: 静态方法和静态变量的目的是什么? 答案:静态变量被类的所有实例共用,静态类只能访问类的静态变量,或调用类的静态方法。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:unity3d(unity3d收费规则)
下一篇:eclipse和idea使用区别大吗?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~