类的继承,和C++的继承不一样,后者可以多重继承和多层继承,而Java中只能多层继承,也就是只能一个子类继承一个父类,一个父类可以有多个子类,想想自然界生物,这点就很好理解了。
下面这个范例很好的说明了类的继承、子类的实例化、方法的复写等知识:
- class Person
- {
- private String name ;
- private int age ;
- public void setName(String name)
- {
- this.name = name ;
- }
- public void setAge(int age)
- {
- this.age = age ;
- }
- public String getName()
- {
- return this.name ;
- }
- public int getAge()
- {
- return this.age ;
- }
- public String say()
- {
- return "姓名:"+this.name+",年龄:"+this.age ;
- }
- };
- class Student extends Person
- {
- private String school ;
- public void setSchool(String school)
- {
- this.school = school ;
- }
- public String getSchool()
- {
- return this.school ;
- }
- public String say()
- {
- return "姓名:"+this.getName()+",年龄:"+this.getAge()+",学校:"+this.school ;
- }
- };
- public class OODemo02
- {
- public static void main(String args[])
- {
- Student s = new Student() ;
- s.setName("张三") ;
- s.setAge(30) ;
- s.setSchool("CSDN学生大本营") ;
- System.out.println(s.say()) ;
- }
- };
感觉比较好理解,类的继承关键点是访问权限,子类的构造方法的访问权限要大于父类,也就是不能比父类更严格。