你错误的原因是
当你New一个对象的时候,classLoader(类加载器)会先加载你父类的构造方法,如果在子类中不指定构造方法,就会默认调用无参的构造方法,但是你的父类point2D写了一个构造方法,系统就不会给你生成默认的构造方法,所以classLoader调无所调。。。
以后有问题多多交流,兄弟给分吧- -!
public class Point3D extends Point2D {
int z;
public Point3D(int a, int b, int c) {
super(a, b);
z = c;
}
Point3D(Point2D p, int c) {
x = p.x;
y = p.y;
z = c;
}
public void offset(int a, int b, int c) {
x = x + a;
y = y + b;
z = z + c;
}
}
class Point2D {
public int x;
public int y;
public Point2D() {
}
Point2D(int a, int b) {
x = a;
y = b;
}
public void offset(int a, int b) {
x = x + a;
y = y + b;
}
}
首先,告诉你什么是继承,必须要有一个抽象的类,
然后子类才能继承。
你的这个point2D是抽象类吗?
既然不是如何去继承呢?
太粗心了。
晕了,谁说不是抽象就不能继承啊?不要误导别人好不
问题很好解决,在父类里,建一个无参数的构造函数就好了