目前我会尝试理解java中的扩展类。
做了什么: 我为他创建了一个类和扩展类,在扩展类中我用简单的命令创建了构造函数——显示来自超类的变量。在另一个文件中,我尝试创建扩展类的对象,但出现错误 - “没有可访问 CObj 类型的封闭实例。必须使用 CObj 类型的封闭实例来限定分配(例如 xnew A(),其中 x 是 CObj 的实例)。 ”
代码:主文件
public class Demo {
public static void main (String[] args){
CObj.Co n=new CObj.Co();
n.show();
}
}
并与类文件
class CObj {
int i,k,l;
CObj summ (CObj object){
object.i*=i;
object.k*=k;
object.l*=l;
return object;
}
void show (){
System.out.println("this is super class");
System.out.println(i+" "+k+" "+l);
}
...少数构造函数...和扩展类
class Co extends CObj{
Co(){
super(1,2,3);
}
void show(){
System.out.println("this is extended class and overloaded meth");
super.show();
}
}
问题; 做错了什么?为什么我有这个错误,我需要改变什么?或者,也许我正在以一种糟糕的方式做某事?