我现在有一类,假设名为Class1,这个类当中定义了TextArea ta1 = new TextArea(4,3);
如果我在这个类当中使用
String s = "hello";
ta1.append(s);
则可以实现文本追加的功能.问题:
我现在有另外一个类假设名为Class2,
我已声明 Class1 c1;
String s = "world";
当我使用c1.append(s);
时报空指针错误!不知道是什么原因,还请多指教一下!
如果我在这个类当中使用
String s = "hello";
ta1.append(s);
则可以实现文本追加的功能.问题:
我现在有另外一个类假设名为Class2,
我已声明 Class1 c1;
String s = "world";
当我使用c1.append(s);
时报空指针错误!不知道是什么原因,还请多指教一下!
new Class1();
TextArea并没有直接的联系,
如果你真要想使用append(s);方法的话,那你就要写成c1.tal.append(s);
当然要首先 c1=new Class1();
但是还有一个疑问!
首先我的Class1是一个带主方法的类,也就是含有main()方法
如果我再在Class2中去new Class1那不是会出问题吗?
当我使用c1.append(s);
这里应该是c1.ta1.append(s);尽管如此还是报空指针错!
大家不是给你说的很清楚了吗
1---6楼都告诉你了 你没有用NEW来创建对象啊
JAVA不想C++
你必须用NEW 来创建对象,如Class1 c1 = new Class1();
按你的写法他会执行Class1 c1 = null;
应该会吧,没这么写过程序
首先,你这么做是不对的,MIAN()最好放在一个单独的类中,如:class Mian{
public static void main(String[] arg){
//your code
}
}
首先明确使用一个对像要先new 才行,
其次,把main()放在主类里,一般不要再去new 这个类了。
如果需要new class1(),那你就把里面的main()另外换个主类里放吧。
让class1当个普通的类。
解决方法如下:我将Class1 当中的ta1做为一个参数传到Class2当中,再在Class2当中声明一个TextArea ta1;
然后 this.ta1 = ta1;
这样我就可以直接调用ta1.append(s)的方法了!上面很多朋友所说的需要new Class1()其实是有一些问题的,因为当我重新new 了一个之后那么我的TextArea ta1是一个新的了,就不是我原先的那个,所以 我无法对其进行操作,而新new出来的那个ta1由于没有实例化,自然会报空指针错误!呵呵!相互学习学习!
谢谢各位!