我创建了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;
}
答案 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类的实例中。
要回答您的问题,参数应该表示类的实例,而不是类本身。然后,它成为方法中的局部变量,并通过它可以访问其字段和方法。