java给对象赋值
‘壹’ java中怎么在创建对象时一并赋值
您好,提问者:
这个基本能想到的有两种,如下代码:
publicclassStudent{
privateinta;
privateintb;
privateintc;
publicStudent(inta,intb,intc){
this.a=a;
this.b=b;
this.c=c;
}
}
classPerson{
privateinta;
privateintb;
privateintc;
publicPerson(inta,intb,intc){
this.a=a;
this.b=b;
this.c=c;
}
}
publicclassStudent{
publicStudent(inta,intb,intc){
super(a,b,c);
}
}
‘贰’ java如何用反射给对象赋值
java用反射给对象赋值的方法:
主程序:
‘叁’ java中怎么给对象赋值
通常用String ss="asasasa";就可以了,用String str=new String ("men"); 比较麻烦,因为它实际创建了两个字符串,意思就是用“men”这个字符串来初始化str.String str=new String ();
他只是创建了一个字符串对象,可以在后续给他赋值初始化。也可以用他的引用来调用一些String类的方法。
‘肆’ java给对象的成员变量的赋值方法
java类的成员变量可以直接赋值,即赋初始值;
java类的成员变量也可以不赋值,系统会根据变量类型赋系统默认值;
java类的成员变量可以在以如下赋值:
声明时(int i=10;)
构造方法里(this.变量名=? 方式)
类声明时不赋值,用 对象实例名.setXXX(xxx); 即set方法
Java类的局部变量必须在声明时赋值,否则报错....就是那种定义在方法里的变量...
‘伍’ JAVA NEW一个对象赋值。。
x.array[0]中的array是x的属性的,但是类b中只是继承了array这个属性,但是却没有赋值,你肯定会说你在b的构造方法中赋值了,错就
是在这里了,你在构造方法中array是你申明的局部变量,并没有能够给array赋值,所以你的x.array[0]肯定会出空指针。要想正确的话,把double[]
array=new
double[2]
改成array=new
double[2]
‘陆’ java给对象可以赋值给对象吗
对象是引用类型的,所以如果你把一个对象赋值给另一个变量,它实际上只是把内存地址赋值了,这就比如你知道xxx家的地址,然后你告诉了另一个人,这个人也知道了这个地址,但是xxx的家你并没有直接拿给另一个人,所以显而易见,你去xxx家拿东西,另一个人去了会发现少了,如果像你说的改成直接复制一份给另一个人的话,那么你需要把xxx的家重新盖一套,东西都一样,然后搬过去交给另一个人,显然这不可能那么java是面向对象的,它是完全符合面向对象的观点的,正因为你不可能重新盖一套房给人家一样,java也是这样做的
‘柒’ 在java中定义一个数组对象怎么赋值
new Shuzu(new char[]{'我'});new Shuzu(new char[]{'老'})); ————相当于ss[0].sz[0]={'我'};ss[1].sz[0]={'老'};
就在这里,这里你用了两次new,也就意味着,你生成了两个不同的Shuzu类的对象出来,分别的char[]{'我'}和new char[]{'老'},所以,当你在之后 System.out的时候,读到ss[0].sz[1]和ss[1].sz[1]时,其实这两个变量里是没有值的,
‘捌’ java 中对象赋值问题
刚重测了一下.确实是这样.下面是给出的答案.绝对正确.我现在也搞懂这个问题了...
因为在java中一个对象做为参数传递给另一个方法使用.传的是对象的引用,而传送的不是另一个新的对象.所以他的修改要影响前面的对象
‘玖’ java对象赋值
java中对象使用等号赋值其实还是同一个对象,当你使用new后才会生成一个新对象。
如过对象已经存在内存中,那么使用等号赋值,也只是使指针指向存在的对象的地址值。
‘拾’ Java中请问将一个对象赋值给另一个同类对象,这两个对象是否指向同一堆内存
是的。
对象是引用类型的,所以如果把一个对象赋值给另一个变量,它实际上只是把内存地址赋值了。也就是说,如果对象都是同一地址,那么改变该地址的值,另外一个同地址的对象也会改变。
首先可以使用构造器的参数区别开两个对象,如果要直接赋值而不互相影响,那么可以使用clone(浅复制、深复制包含内部引用等)方法如Person newPerson=(Person)oldPerson.clone();这样新旧对象是2个对象而不是共用一个地址的2个对象。
堆和栈
内存管理在Java语言中是JVM自动操作的,当JVM发现某些对象不再需要的时候,就会对该对象占用的内存进行重分配(释放)操作,而且使得分配出来的内存能够提供给所需要的对象。
在一些编程语言里面,内存管理是一个程序的职责,但是书写过C++的程序员很清楚,如果该程序需要自己来书写很有可能引起很严重的错误或者说不可预料的程序行为,最终大部分开发时间都花在了调试这种程序以及修复相关错误上。
以上内容参考:网络-java内存模型