我创建了2个类,我想在B类的方法中使用A类

时间:2017-06-29 12:49:26

标签: java

我创建了2个类,我想在类B的方法中使用A类      创建了A类     我使用protected,因为我在我的代码中创建了一个超类,不介意它

public class A {
protected String modulname; 
        protected String verantwortliche;
        protected int sws;
        protected int credits;

        public A ( String modulname, String verantwortliche, int sws, int credits ){//beginning of the methode of class A
            this.modulname =modulname;
            this.verantwortliche = verantwortliche;
            this.sws= sws;
            this.credits = credits;
        }
        public class B {
        private String pruefer;
        private double leistungeninprozent;
        //i want to use the Attributes/Constructors form class A in the class B
        //an put it like this:
        public B (class A, String pruefer, double
            leistungeninprozent){ 
                this.leistungeninprozent = leistungeninprozent;
                this.modul = modul;
                this.pruefer = pruefer;
        }

3 个答案:

答案 0 :(得分:2)

改变这个:

public B (class A, String pruefer, double
        leistungeninprozent){ 
            this.leistungeninprozent = leistungeninprozent;
            this.modul = modul;
            this.pruefer = pruefer;
    }

到此:

public B (A aObject, String pruefer, double  //change "class A" to "A aObject"
        leistungeninprozent){ 
            this.leistungeninprozent = leistungeninprozent;
            this.modul = modul;
            this.pruefer = pruefer;
    }

然后您可以在B构造函数中访问它,如下所示:aObject.modulname

答案 1 :(得分:0)

美丽有效。我如何实现toString方法? 我的意思是将类A的toString实现到类b的toString中。

这就是toString表单类A:

@Override
    public String toString() {
        return "Module [Modulname=" + modulname + ", Verantwortliche=" + verantwortliche + ", SWS=" + sws
                + ", Credits=" + credits + "]";
    }

这是来自B类的toString方法:

@Override
    public String toString() {
        return "Leistungen [Pruefer=" + pruefer + ", LeistungeninProzent=" + leistungeninprozent
                + "]";
    }

现在我想从两个不同的类中只生成一个toString方法。

答案 2 :(得分:0)

在学习Java的过程中,我建议避免使用嵌套类。 B的实例只能存在于A类的实例中。

要回答您的问题,参数应该表示类的实例,而不是类本身。然后,它成为方法中的局部变量,并通过它可以访问其字段和方法。