public class Base{ public Base(int i){ } public Base(int i, int j){} } public class Div extends Base{ public Div(int i){// super(i); } public Div(int i,int j){//重载子类的构造函数会出错 super(i,j); } }
忘了补充了,基类不能修改,即没有 public Base(int i, int j){} 这句
那就没办法了 java不支持
建议你还是找本基础的书仔细看看,多写代码体会。 public Div(int i,int j){//重载子类的构造函数会出错 } 这样当然不行。既然父类的构造函数中需要传递一个参数,那么子类必须使用 super(i); 或者super(j); 不然的话当然报错
//基类 class Base{ public Base(int i){ } public Base(){
} } //子类 class Div extends Base{ public Div(int i){// super(i); } public Div(int i,int j){//重载子类的构造函数会出错 } }子类继承父类,子类的构造方法如果没有使用super方法,子类首先调用父类无参的构造方法,所以只要在子类中加个无参的构造方法就行了。
public class Base{
public Base(int i){
}
public Base(int i, int j){}
}
public class Div extends Base{
public Div(int i){//
super(i);
}
public Div(int i,int j){//重载子类的构造函数会出错
super(i,j);
}
}
这句
public Div(int i,int j){//重载子类的构造函数会出错
}
这样当然不行。既然父类的构造函数中需要传递一个参数,那么子类必须使用
super(i);
或者super(j);
不然的话当然报错
class Base{
public Base(int i){
}
public Base(){
}
}
//子类
class Div extends Base{
public Div(int i){//
super(i);
}
public Div(int i,int j){//重载子类的构造函数会出错
}
}子类继承父类,子类的构造方法如果没有使用super方法,子类首先调用父类无参的构造方法,所以只要在子类中加个无参的构造方法就行了。
这个很简单 你可以把jar包 作为classpath导入 然后修改里面的class, 添加
public Base(int i,int j){
} 然后编译然后再把修改好的class 用winrar再复制进去 就可以用了
public Div(int i,int j){
//添加调用super(i),或super(j)
} 总之必须调用super(int)来生成基类的对象,因为基类没有默认构造函数,无法生成基类对象
public class Div extends Base{
public Div(int i, int j){
super(i);
Div2(j);
}
private void Div2(int j){
// do something
}
}