本章内容类的继承Java中使用extends关键字实现类的继承机制,其语法规则为:<modifier>class<name>[extends<superclass>]{ ………}通过继承,子类自动拥有了基类(superclass)的所有成员(成员变量和方法)。Java只支持单继承,不允许多重继承一个子类只能有一个基类一个基类可以派生出多个子类类的继承classPerson{privateStringname;privateintage;publicvoidsetName(Stringname){=name;}publicvoidsetAge(intage){=age;}publicStringgetName(){returnname;}publicintgetAge(){returnage;}}classStudentextendsPerson{privateStringschool;publicStringgetSchool(){returnschool;}publicvoidsetSchool(Stringschool){=school;}}lassTest{publicstaticvoidmain(Stringarg[]){Studentstudent=newStudent();("John");(18);("SCH");(());(());(());}}输出结果:.test;classParent{privateintn_private=1;intn_friendly=2;protectedintn_protected=3;publicintn_public=4;}classChildextendsParent{publicvoidf(){n_private=10;n_friendly=20;n_protected=30;n_public=40;}}方法的重写在子类中可以根据需要对从基类中继承来的方法进行重写。重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值类型。重写方法不能使用比被重写方法更严格的访问权限。方法重写举例classPerson{privateStringname;privateintage;publicvoidsetName(Stringname){=name;}publicvoidsetAge(intage){=age;}publicStringgetName(){returnname;}publicintgetAge(){returnage;}publicStringgetInfo(){return"Name:"+name+"\n"+"age:"+age;}}classStudentextendsPerson{privateStringschool;publicStringgetSchool(){returnschool;}publicvoidsetSchool(Stringschool){=school;}publicStringgetInfo(){return"Name:"+getName()+"\nage:"+getAge()+"\nschool:"+school;}lassTest{publicstaticvoidmain(Stringarg[]){Studentstudent=newStudent();Personperson=newPerson();("none");(1000);("John");(18);("SCH");(());(());}}输出结果:Name:noneage:1000Name:Johnage:18school:SCHsuper关键字在Java类中使用super来引用基类的成分;例如:classFatherClass{publicintvalue;publicvoidf(){value=100;("="+value);
第六章 面向对象编程Ⅱppt课件 来自淘豆网www.taodocs.com转载请标明出处.