例:
public class java_ex17 {
public static void main(String[] args){
Student17 student17 = new Student17();
student17.name = "xiangzhang";
student17.age = 25;
student17.school = "beijing";
System.out.println("name :" + student17.name + ", age = " + student17.age + ", school =" + student17.school);
}
}
class Person17{
String name;
int age;
}
class Student17 extends Person17{
String school;
}
结果:
name :xiangzhang, age = 25, school =beijing
解析:
可以发现Student17 类中虽然没有定义name与age属性,但在程序外却依然可以调用name或age。
这是因为Student17 类直接继承自Person17类,也就是说Student17 类直接继承了Person17类中的属性。
所以Student17 类的对象才可以访问到父类中的成员。
注意:
在java中只允许单继承,而不允许多重继承,也就是说一个子类只能有一个父类,但是java中却允许多层继承。
例一:多重继承
class A{ }
class B{ }
class C extends A,B{ }
例一中,C类同时继承了俩个父类,这在JAVA中是不允许的。
例二:多层继承
class A{ }
class B extends A{ }
class C extends B{ }
例二中,B类继承了A类,C类继承了B类,这在JAVA中是允许的。