class Container
{
//Component comp;
public void addComponent()
{
// comp = new Component(this);//将this作为对象引用传递
Component comp = new Component(this);
}
}
class Component
{
Container myContainer;
public Component(Container c)
{
myContainer = c;
}
public Component()
{
System.out.println("hello!");
}
}class p99
{
public static void main(String [] args)
{
Container Comp = new Container();
Comp.addComponent();
Component CC= new Component(); 这句运行是为什么会报错呀
}
}
{
//Component comp;
public void addComponent()
{
// comp = new Component(this);//将this作为对象引用传递
Component comp = new Component(this);
}
}
class Component
{
Container myContainer;
public Component(Container c)
{
myContainer = c;
}
public Component()
{
System.out.println("hello!");
}
}class p99
{
public static void main(String [] args)
{
Container Comp = new Container();
Comp.addComponent();
Component CC= new Component(); 这句运行是为什么会报错呀
}
}
//Component CC= new Component(); 这句运行是为什么会报错呀
哈哈
hello!
这不输出了吗?
解答:
因为通常系统自动会给你写的类添加一个默认的析构函数,但是
如果你在自己的类中定义了带参数的析构函数,那么你就必须自己手动定义默认的析构函数。
你的Component类就是这种情况。
你只有加上如下代码即可运行:
public Component(){}
Component 是系统类,它是abstract类 不能被实例化
在我这里没有出错!
你在好好看看!