Rag*_*aer 3 java return object
我正在学习Java,我现在面临以下错误
Object label1 = addLabel("First number");
Run Code Online (Sandbox Code Playgroud)
还有我的addLabel功能
public Object addLabel(String text)
{
JLabel label = new JLabel(text);
add(label);
return label;
}
Run Code Online (Sandbox Code Playgroud)
我想知道为什么我不能在我的变量label1上访问任何标签方法,如果我将它作为对象返回?
例如: label1.setBounds(...);
您只能访问变量可用的方法,而Object没有这些方法.这就是为什么你不应该以这种方式使用Object.是的,变量保存的对象是JLabel,但编译器知道变量可以包含任何类型的对象,因此为了安全起见,只允许使用Object方法调用.
可能的解决方案:
((JLabel) label1).setText("Foo");
label1
为JLabel变量并声明addLabel
返回JLabel. 归档时间: |
|
查看次数: |
83 次 |
最近记录: |