问题描述
- 为什么在构造方法中无法操作此类的静态成员
- 这是代码的一部分
public static String Txt;
public ChatView(){
setLayout(null);
Send.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//实现发送
// String str=InputArea.getText(); 可以赋给str
// Txt=str; 无法赋给Txt
Txt = InputArea.getText(); //无法赋给Txt
InputArea.setText("""");
}
});
解决方案
这是java的语法规定的啊,因为静态方法是类的属性,只能通过类名来访问,而不需要通过对象啊。
构造函数是创建对象时调用的,是类的非静态方法,是不能访问静态成员的。
解决方案二:
应该可以的啊!静态成员还没实例化就已经存在内存中了,而非静态的要实例化才会存在的。
所以静态方法不能调用非静态成员,但非静态方法是可以调用静态成员的。
时间: 2025-01-31 01:41:16