java 中对象赋值问题

Python022

java 中对象赋值问题,第1张

关键的地方在这几行:

va.i = 20

ValHold vh = new ValHold ()

va = vh

这几行运行以后,要记住一点,

上面的v.i的值是这样一个过程:->10->30->20到此结束。

下面

ValHold vh = new ValHold ()

va = vh

的意思是va重新指向另外一个新的对象,而原来的v指向的对象还是不变。

所以结果就是这样,区别于C++

这个其实原理很简单,关键要搞清楚里面的内存分配情况。

有机会可以给你画画内存的分配,呵呵...

应为你没有对数组的元素初始化,new一下就行了

class OOP {public static void main(String[] args) {DVD1[] manager = new DVD1[6]for (int i = 0i <manager.lengthi++) {manager[i] = new DVD1() } manager[0].name = "罗马假日" manager[0].date = "1日" manager[0].state = "可借" manager[0].times = 10manager[1].name = "java编程" manager[1].date = "null" manager[1].state = "可借" manager[1].times = 11manager[2].name = "面向对象" manager[2].date = "null" manager[2].state = "可借" manager[2].times = 1 }}

1、定义一个数组对象

String[] arr = new String[2]//定义一个字符串数组变量arr,数组是一维数组,长度是2

2、通过数组索引给数组赋值

arr[0] = "a"//给数组第一个赋值字符串a

arr[1] = "b"//给数组第二个赋值字符串b