44问答网
所有问题
java static学傻了,;类方法中给成员变量赋值必须先new个对象,普通方法却不用,为什么呢?
越学越迷糊,好像很简单,但就转不过来弯了,求指点
举报该问题
推荐答案 2011-05-31
我也让你给说迷糊了 呵呵
这么说吧 其实被static修饰的变量会在类装载时直接加载到静态内存中
因此不需要创建类的实例就可以直接对其进行使用,但是非静态变量的话就必须创建对象后才可以使用,其实在做开发的时候通常一些公用常用的方法会写成静态方法,这样就避免创建类的实例来调用它,避免了资源的浪费,也许你会有这样的疑问,当写成static时候装载类的时候就加载会不会也是内存资源的浪费,其实不会的 因为static是存在于静态内存中,对内存资源影响不大。希望你不会在迷糊了。。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://44.wendadaohang.com/zd/GRV6W6G6V.html
其他回答
第1个回答 2011-05-31
static 方法的执行实际上执行的是磁盘上.class文件中的类方法,由static描述的方法和属性不需要在内存中new出实例(object)。
而由private修饰的成员方法的执行需要new出一个对象来,放在内存中进行存取。
第2个回答 2011-05-31
留QQ 哥给你 指导下
相似回答
...
必须先new
出
对象
在引用 类内部的
成员方法为什
么可直接使用?
答:
因为在类内部的时候默认为this,也就是本对象
。但是如果你在该类中的main方法中的话,只是一个程序的入口,不代表该类,你要使用该类还是得new
在
java
语言中,有时候
变量
常量声明时要加一个“
static
”,有的时候不加...
答:
通过以上两种比较,就可以知道static用来修饰
类成员
的主要作用了,在
java
类库当中有很多类成员都声明为
static,
可以让用户不需要实例化对象就可以引用
成员,
最基本的有Integer.parseInt(),Float.parseFloat()等等用来把对象转换为所需要的基本数据类型。这样的变量和方法我们又叫做
类变量
和
类方法
。接下来讲一下...
Java
问题:
为什
么
类方法中不
能访问
普通成员变量
而只能访问
类变量
??
答:
“静态变量”就是“类变量”,“静态方法”就是“类方法”。这里面就涉及到类与对象的关系,我们举个例子:人就是一个类,而由人生成出来的姚明、安东尼就是对象。“人的眼睛个数”是
类变量;
get人的眼睛个数()是
类方法;
“身高”是
对象变量;
get身高()是
对象方法;
“
普通成员方法
可以访问静态变量...
java中static
作用详解
答:
因此
,static对象
可以在它的任何对象创建之前访问,无需引用任何对象。 用public修饰的
static成员变量
和
成员方法
本质是全局变量和全局方法,当声明它类的对象市,不生成
static变量
的副本,而是类的所有实例共享同一个static变量。 static变量前可以有private修饰,表示这个变量可以在
类的静态
代码块中,或者类的其他静态成员
方法中
...
大家正在搜
java中static的用法
java构造方法和成员方法
java static变量
javastatic方法
java序列化方法加static
javastatic一般用法
java中static类
java静态方法调用静态方法
java中static特点
相关问题
java里的类中定义的非静态成员变量 要想使用必须先new出...
Java问题:为什么类方法中不能访问普通成员变量而只能访问类...
JAVA NEW赋值了是即赋值给成员变量又赋值给局部变量吗
java 中类的静态方法怎么调用成员变量
Java为什么不能在 类中方法外给成员变量赋值(已定义)
java中类成员变量和成员方法的区别
java成员变量赋值
java怎么区别成员变量与局部变量,怎么为他们赋值;方法重载...