java 实例变量的定义 赋值 和实例化的区别

现在有点糊涂,我在类中定义一个double类型的变量d
private double d;假设我要在这个类的某个方法中调用这个d,首先我是不是要实例化它,或者是为它赋一初值。当我这个方法调用完了,其他方法中还会调用这个d,那么我在其他方法中是不是又要重新实例化它?(可能意思不是很明了:就是想问在方法体外实例化呢,还是在方法体内实例化)
另外,我在声明这个变量的时候给它赋初值,和new一下有什么区别?

其实你的问题不在这 而是全局变量 和 区域变量的问题
如你描述的
如果在第一个方法已经给 这个d赋值 那么下个方法 如果重新赋值 ,这个d默认就是方法1 执行后d的值 这是个全局变量
如果是 在方法外赋值 每次调用这个类 就先给d重新赋值,然后加载你的方法 相当于d是个常量
无论你执行那个方法 d的初始值都是你在方法外赋值的那个
具体 该在方法外还是内 看具体需求
赋值 和 new的区别
其实这是对存储 堆和栈的问题
如果 直接赋值 它在栈中的位置 不变 只是堆里的数据有变化
如果new 了 则是 先在栈中添加数据 然后 再在堆里添加数据 栈的数据指向堆中数据
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-26
定义一个变量就是创建一个新的对象(变量),但并不赋予初值 例如 int a;
对变量赋值是对一个已有的变量进行赋值 例如 a=1;
对象的实例化就是 在创建新的对象的同时进行赋值 例如 int a=1;

赋值与new的区别,就是 前者是创建一个栈对象赋值给变量,而后者是创建一个堆对象给变量
这是我的理解,希望对你有所帮助!
第2个回答  2011-08-26
在类中定义的double类型的变量,更准确的应该叫做属性,或者可以叫成员变量,那么要想使用或者叫调用这个属性(成员变量),方法是要先实例化一个对象,例如 类名 对象名 = new 类名();然后用这个对象调用这个属性,属性(成员变量)在使用之前也可以不赋初值,要看情况而定,至于实例化的时候,一般是在方法内实例化,你可以在main方法中实例化,也可以在你用到的方法中实例化。而你在声明属性(成员变量)的时候给它赋值不赋值都可以,跟 类名 对象名 = new 类名();这样new一下有本质的区别,new 类名();表示创建一个新的对象,我们可以用这个对象调用类里面的属性和方法。
第3个回答  2011-09-02
1. 如果是全局变量的话, 当你调用第一个方法, 给d赋值为 3.1 , 那么当你第二个方法再调用这个d的时候那他就是3.1了. 也就相当于这个d是公用的. 如果你想分开用, 建议在方法内声明局部变量, 这样也是代码优化的一种方式.
2. 我在声明这个变量的时候给它赋初值,和new一下有什么区别? 这句话没太看明白.
一般声明对象的时候赋予初始值, 是为了防止"空指针"或者"变量未初始"这种错误的出现. 如果代码严谨, 建议使用时赋值, 节约内存占用率(虽然很不起眼, 但是积少成多).
第4个回答  2011-08-26
首先一般不建议用double这个类型,用long来做的话要好一点,初始赋值是肯定要的,至于在外在内的话看需要了,一般你在用到的方法里面初始化一下比较好,如果是不变的常量的话你可以定义在外面用static final定死,new的话就是产生个新的对象,赋值不产生新的对象

java中的实例化和引用变量有什么区别
区别如下:实例化就是另外分配一个空间来存储要实例化的类,引用变量没有另外创建一个空间,只是多了一个变量指向那个空间而已,比如,String str1 = "aaaa"; \/\/实例化一个变量str1,创建了一个空间来存放"aaaa".String str2 = str1; \/\/引用变量, 把str2也指向存放"aaaa"的那个空间。这样就可...

Java中什么叫实例化??
就是从一个模版中得出一个实际的例子。比如:从一张汽车设计图,设计出一辆真正的汽车。这个就叫做实例化。我们可以理解这个设计图是一个类,一个模板。你new了之后的那个就是真正的实例了。对象是虚无的,不实际的,抽象的(比如汽车设计图,里面的汽车不能真的开);实例是实实在在的,个体的,具...

什么叫实例化
综上所述,类相当于一种数据类型,实例化的过程相当于声明变量的过程。。当然。。这只是类比。。该叫实例化还得叫实例化哦。。显得专业嘛。。至于有没有 new 的区别,就像 int a; 和 int a = 1; 的区别。。Student stud; 在内存中为 stud 开辟了一段空间,但是此时该空间并没有东西,就好像...

实例变量是什么JAVA
在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。类的每个对象维护它自己的一份实例变量的副本。当一个对象被实例化之后,每个实例变量的值就跟着确定。实例变量在对象创建的时候创建,在对象被销毁的时候销毁。实例变量的值应该至少被一...

Java 中变量不赋值使用就会出错,但是如果把一个变量封装到一个类中...
Java中的变量分为局部变量和全局变量,局部变量就是在方法中声明的变量,而全局变量就是在类中声明的变量,在java中有这么一条规则,声明在方法中的变量在使用时必须要初始化(注意这里是使用时,如果不使用的话,你也可以不赋值,但是一般变量声明了之后都是要使用的,所以你最好初始化),否则不能...

什么叫做实例化一个变量、方法、接口、对象?实例化的作用是什么?
实例化,就想当于给这个对象分配了一个可用空间,就是把这个实例放到了内存当中,他的作用就是让程序可以正常使用这个类。

java中类变量和实例变量的实质区别?
Instance fields A field define without static, means each object has its own copy of fields 顺便提一句:通常用下面的形式,定义类的常量。(类或实例都可以访问)static final double PI=3.14159;静态方法(方法前冠以static)和实例方法(前面未冠以static)的区别 调用静态方法或说类方法时,...

什么是实例变量?
java类的成员变量有俩种:一种是被static关键字修饰的变量,叫类变量或者静态变量;另一种没有static修饰,为实例变量。在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能...

java中什么是实例变量,类变量,局部变量??
类变量是在类中定义和存储的,它们的值适用于类及其所有实例。而当类被实例化成为一个实例化对象的时候,对象中的变量将会成为实例变量。每个实例都将有实例变量的一个拷贝,它们可以修改实例变量的值,而不会影响其他的实例;而类变量只有一个拷贝,修改它的值将影响所有的实例。只在特定的过程或函数中...

能以通俗易懂的的方式给我解释一下java中实例变量的定义吗?最好举一...
实例变量永远都会有默认值,如果你没有明确的赋值给实例变量,实例变量还是会有值!实例变量是声明在类中而不是方法中,局部变量是生命在方法中的,局部变量没有默认值,在使用前必须初始化,如果在变量初始前要使用的话,编译器就会报错。public class B { String a;public void A(){ String b="...

相似回答