2014-04-20 55 views
0

我正在学习Java OOP阅读一本书,并没有很好地解释子类的主题。我正在尝试创建一个解决方程组的类,您可以找到代码hereJava子类没有足够的参数

sistemi类解决了2个方程组的系统,sistemi3eq的子类解决了3个方程组的系统。 NetBeans被给我这个错误:

enter image description here

我还没有发现大量的文档资料。你有什么建议吗?我怎样才能改进我的代码?

+3

不需要'()'。 –

+3

另请注意,Java中的类型(即类名)应以大写字母开头,即“Sistemi”。 –

+0

无论如何,我认为你应该重新考虑你的设计.. –

回答

2

你的班级名称不(也不能)有()那么你为什么extends sistemi()

只是extends sistemi

+0

我仍然有错误 –

+0

确实。但是,因此这个问题应该被认为是“简单的印刷错误”;) –

+0

发布错误。 - @OliCharlesworth肯定 –

1

子类其实不是你的父类中。你需要在你的父类的范围内移动它。一个文件中不能有两个单独的pubilc类。

既然第二个是不公开的,你仍然可以这样使用它,但你真的不应该这样做。您应该将其放在sistemi课程或其他文件中。

public class sistemi { 
    ... 

//this bracket here needs to go at the bottom of the file 
//} 

    class sistemi3eq extends sistemi { 

     ... 
    }  
} 
-1

我已经在sistemi(double a, double b, double c, double d, double e, double f)分配了void,现在它可以工作。

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  
} 
+0

现在它不再是一个构造函数(我从来没有想过你可以创建一个同名类的方法)。也许你希望它是静态的 –

相关问题