qq_27626739 于 2015.05.28 23:04 提问
- java中JLabel中等号使用
-
JTextArea text = new JTextArea();
text = questionArea;
scrolltext.getViewport().add(text);
text.setText("1、问题:1+1=3对吗?\nA. 对 \nB. 不对");
为什么在第二行questionArea = text也可以呢?注:用 text = questionArea; 时,需要对questionArea new一个JTextArea,而使用questionArea = text时不需要对questionArea new一个对象。望大神解答,非常感谢!
-
-
danielinbiti
2015.05.28 23:12
用 text = questionArea; 时,需要对questionArea new一个JTextArea,
注:因为赋值给text后,后面有text.setText,如果questionArea不new一个实例(也就是JTextArea),后面就报空指针了
而使用questionArea = text时不需要对questionArea new一个对象
注:这是把text赋值给questionArea,是赋值,和questionArea 是否实例化没有关系。
-
- tongyi55555 2015.05.29 08:50
楼上正解。
text = questionArea;
你不对questionArea new一个JTextArea,你试试就知道了,后面的赋值代码无法运行了。
-
- sl_18500 2015.05.29 09:25
等号的意思是,将后面的变量的值赋值给前面的变量,text = questionArea; 时,需要new,不然变量内存地址不存在,报空指针,而使用questionArea = text时不需要new,是把text赋值给questionArea,是将text在内存中的地址指定给questionArea,地址存在,无异常
-
- qq_27626739 2015.05.29 14:37
为什么用text = questionArea和questionArea = text 得到的结果都是questionArea 对象内的内容啊?后面用的是scrolltext.getViewport().add(text);这里是text啊?我不能理解