Pra*_*gan -2 java inheritance multiple-inheritance
这个程序似乎在使用多重继承.但是Java不支持多重继承,那么这个程序是如何工作的呢?
这是什么代码背后的原因在编译的时候两个类Student和Professor继承的基类Person?
class Person
{
private String name;
private int age;
private int val;
private int value(int sal)
{
return sal/100;
}
public Person(String name, int age, int sal)
{
this.name = name;
this.age = age;
val = value(sal);
}
public void valOverride(int val)
{
this.val = val;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
public int getVal()
{
return val;
}
}
class Student extends Person
{
Student(String name, int age, int sal)
{
super(name,age,sal);
}
}
class Prof extends Person
{
Prof(String name, int age, int sal)
{
super(name,age,sal);
}
}
public class AbsDemo
{
public static void main(String[] args)
{
Student s = new Student("prasi", 21, 18000);
Prof pr = new Prof("david",38,25000);
System.out.println(pr.getVal());
pr.valOverride(22);
Person p = new Student("prasanna", 22, 12000);
System.out.println(s.getName());
System.out.println(p.getName());
System.out.println(s.getVal());
System.out.println(pr.getVal());
}
}
Run Code Online (Sandbox Code Playgroud)