Я пытаюсь создать простую программу наследования Java, а также использовать супер и это ключевое слово. показывая здесь оценки ученика по трем предметам на 2 семестра sem1 и sem2. Я хочу показать общие оценки, т. Е. S1T (Sem1 всего), s2t (Сем 2 всего), а также общая сумма ..Java Inheritance с использованием супер
//Student Record Keeping System
class Sem1
{
int a,b,c,S1T,S1GT;
Sem1(int a,int b,int c)
{
this.a=a;
this.b=b;
this.c=c;
}
void total()
{
S1T=a+b+c;
S1GT=S1T;
}
void display()
{
System.out.println("S11: "+a);
System.out.println("S12: "+b);
System.out.println("S13: "+c);
System.out.println("S1Total: "+S1T);
System.out.println("S1Gtotal: "+S1GT);
System.out.println("");
}
}
class Sem2 extends Sem1
{
int p,q,r,S2T,S2GT;
Sem2(int p,int q,int r)
{
this.p=p;
this.q=q;
this.r=r;
}
void total()
{
S2T=p+q+r;
S2GT=S2T+S1T;
}
void display()
{
super.display();
System.out.println("S21: "+p);
System.out.println("S22: "+q);
System.out.println("S23: "+r);
System.out.println("S2Total: "+S2T);
System.out.println("S2Gtotal: "+S2GT);
System.out.println("");
}
}
здесь главный класс
class StudentRcd
{
public static void main(String abc[])
{
Sem1 obj = new Sem1(10,20,30);
obj.total();
obj.display();
Sem2 obj1 = new Sem2(20,30,40);
obj1.total();
obj1.display();
}
}
ошибка: Конструктор Sem2 в классе Sem2 не может быть применен к данным типам; { ^ требуется: INT, INT, INT не найдено: нет аргументов причин: фактические и формальные списки аргументов различаются по длине
любезно помочь мне здесь ..
в вашем конструкторе Sem2, ваша первая строка должна быть 'super (p, q, r);' –
Я не тестирую его, но я думаю, что ваш код даже компилируется, потому что ваш родительский класс не имеет конструктора без параметров, вам нужно вызвать 'super (int, int, int)' в дочернем классе – nachokk
Спасибо за помощь .. я понял. –