2 qq 33833831 qq_33833831 于 2016.02.02 20:24 提问

java初学者关于new对象的问题

Echo e1=new Echo();

Echo e2=new Echo(); 

 Echo e1=new Echo();
 Echo e2=e1;

有什么不同

5个回答

leilba
leilba   Rxr 2016.02.02 20:40
已采纳

第一种,e1和e2是两个不同的对象,第二种,e1和e2是同一个对象。
通俗点讲,第一种中,对e1操作基本不会对e2有影响,同理对e2操作基本也不会对e1有影响;第二种中,对e1操作和e2操作效果是一样的,他们都是同一个东西。

leilba
leilba 回复cmshome: 要是e1,e2本来就有相互调用的关系的话,那么也会有影响的
2 年多之前 回复
leilba
leilba 回复cmshome: 存在静态变量的情况,不能说完全没有影响,就算忽略这种情况的话,要是e1,饿
2 年多之前 回复
qq_27093465
qq_27093465 把基本去掉,严谨点。应该说第一种是有,存在2个对象,互不干扰,第二种是只存在一个对象,e2只是去引用e一人一台电脑,第二种是2人公用一台电脑,都有开机密码,
2 年多之前 回复
zrf1335348191
zrf1335348191   2016.02.02 20:33

第一种方式,两个对象存储地址不同
第二种方式,两个对象存储地址相同

wu__di
wu__di   2016.02.02 20:48

上面的是两个对象,下面的是一个对象,两个变量引用,多看看基础的,堆和栈

qq_29500013
qq_29500013   2016.02.02 20:50

e1与e2是Echo对象的两个实例,它们的值存储在不同的栈空间。e1的变化不会影响e2,反之也是。

gary16
gary16   2016.02.03 11:41

e2是e1的另一个引用,类似于指针的指针****

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
java初学者要注意的问题
学习Java的同学注意了!!!  学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:589809992 我们一起学Java!   写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家
初学者在java学习中常见的30个问题
本文回答了30个JAVA入门级初学者的常见问题。如我可以用%除以一个小数吗? a += b 和 a = a + b 的效果有区别吗? 声明一个数组为什么需要花费大量时间? 为什么Java库不用随机pivot方式的快速排序? 1.2 基本数据类型 Q. 为什么 -0/3 结果是 0,而 -0.0/3.0 结果是 -0.0?(注意后边的结果0带负号) A. 在Java里,整数是用补码
JAVA面向对象问题的汇总
(一)父类引用指向子类对象    问:Father obj=new Son();  //obj可以访问Son中的方法吗? 答:对于这个问题你要明白两点:1、何为覆盖2、何为对象引用,何为对象实体(重点) Father obj=new Son(); Father obj  是对象引用 new Son(); 是对象实体 所以调用的方法可以说都是子类的方法,因为此代码中实体对象是子类
关于java与Android(安卓)中为什么要在new一个对象的后面加一个this的原因
以这个式子为例:TextView tv = new TextView(this) 可以看下TextView这个类的构造方法,构造方法需要一个参数。 构造函数中可定需要一个当前的类对象作为参数,所以你需要一个this的参数。 或者你可以这样试下,下面2种方法其实是一样的: Java code ? 1 2 3 4 5
String 创建几个对象问题(详解-不容错过)
String 创建几个对象问题(详解)
C++创建对象,new与不new的区别
场景:class MyClass { public: MyClass(){ std::cout<<"MyClass is being created!"<<std::endl; } ~MyClass(){ std::cout<<"MyClass is being deleted!"<<std::endl; } } 不用new创建对象My
初学菜鸟的学习日记——二叉树(JAVA)
package duty; import java.util.TreeMap; /**  * @author Administrator  *  * @param  * @param  */ public class Tree {  public static final String DEFAULT_CLASS_NAME = Integer.class.getName();
java继承,多态方面的一个问题,定义一个父类对象,用子类new
class Father{     int i = 5;     public void p(){         i++;         System.out.println(i);     } } class Son extends Father{     int i=3;     public void p(){         i++;         System
java初学者常见的问题
本文为那些准Java程序员们准备了一系列广为流传的Java最佳编程实践:1.    优先返回空集合而非null如果程序要返回一个不包含任何值的集合,确保返回的是空集合而不是null。这能节省大量的”if else”检查。publicclass getLocationName {    return(null==cityName ?"": cityName);}1.    谨慎操作字符串如果两个字符
java 枚举使用中注意的问题
通常在需要使用数据集合的时候,枚举便派上了用场。大多数情况下使用枚举的时候无意识的不会去修改里面的值。那么枚举中的值到底能不能修改呢? 答案是:一旦定义了枚举,最好不要妄图修改里面的值,除非修改是必要的。   今天遇到的问题就是和枚举相关的,因为之前并不知道枚的对象实际上是单例,导致了非常严重的问题 先看下代码 (1)定义的枚举:   public enum  SquareAreaEn