我正在学习Java OOP阅读一本书,但它并没有很好地解释子类主题。我正在尝试创建一个解决方程组的类,你可以找到代码here。
类sistemi
解决了2个方程的系统,子类sistemi3eq
解决了3个方程的系统。 NetBeans给了我这个错误:
我还没找到很多文档。你有什么建议吗?我怎样才能改进我的代码?
答案 0 :(得分:2)
您的班级姓名不能(且不能)()
,为什么要extends sistemi()
?
只需extends sistemi
答案 1 :(得分:1)
您的子类实际上不在您的父类中。您需要在父类的范围内移动它。您不能在一个文件中有两个单独的pubilc类。
由于第二个不公开,你仍然可以这样使用它,但你真的不应该这样做。您应该将其放在sistemi
类或其他文件中。
public class sistemi {
...
//this bracket here needs to go at the bottom of the file
//}
class sistemi3eq extends sistemi {
...
}
}
答案 2 :(得分:-1)
我已在sistemi(double a, double b, double c, double d, double e, double f)
指定了空白,现在可以正常工作。
public class sistemi {
private Double x;
private Double y;
public void sistemi(double a, double b, double c, double d, double e, double f) {
//calcolo nella matrice
double detx = (c*e)-(b*f);
double dety = (a*f)-(c*d);
double det = (a*e)-(d*b);
//calcolo dei risultati x e y del sistema
if (det != 0) {
x = detx/det;
y = dety/det;
}
}
//funzioni varie
other code
}
class sistemi3eq extends sistemi {
private Double x;
private Double y;
private Double z;
//other code
}