Java中的多重继承?

Pra*_*gan -2 java inheritance multiple-inheritance

这个程序似乎在使用多重继承.但是Java不支持多重继承,那么这个程序是如何工作的呢?

这是什么代码背后的原因在编译的时候两个类StudentProfessor继承的基类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)

Men*_*ena 5

Java"不支持多重继承",因为类只能有extend一个其他类.

一个父类的多个子类没有任何问题.