




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第4章继承和多态content4.1什么是继承继承的概念is_a关系继承的特点4.1什么是继承4.1.1继承的语法例:继承的语法classStudentextendsPerson{ intstuId; Stringname; DateenrolDate; publicStudent(){ …… } publicStudent(Stringid,Stringname,Datedate){ super(id,name); …… } }publicclassUndergraduateextendsStudent{ StringcollegeName; Stringmajor; publicUndergraduate(){ ……. } publicUndergraduate(Stringid,Stringname){ super(id,name); …… } } 4.1.2成员的继承子类对父类成员属性和方法的继承例:子类对父类的继承classSonClassextendsParentClass{ //派生类中不能继承父类中的私有成员,其他成员均可继承 publicvoiddisplayprivate(){//引用父类中私有成员 //System.out.println("X="+x); } publicvoiddisplayprotected(){//引用父类中保护成员 System.out.println("Y="+y); } publicvoiddisplaypublic(){//引用父类中公有成员 System.out.println("W="+w); } publicvoiddisplaydefault(){//引用父类中的默认成员 System.out.println("Z="+z); } }; classSonClass1extendsParentClass{ }; publicclassTest4_1{ publicstaticvoidmain(String[]args){ ParentClassparent=newParentClass(); SonClassson=newSonClass(); SonClass1son1=newSonClass1(); //三句执行的效果一样,son、son1中没有自己定义parentmethod()方法,它继承了父类中的 parent.parentmethod(); son.parentmethod(); son1.parentmethod(); } } 构造方法的继承构造方法的继承初始化父类与子类传递构造函数4.1.3覆盖和隐藏方法的覆盖例:方法的覆盖成员变量的隐藏4.1.4this和super的用法this的用法例:this的用法PersonA(Stringname,intage){ setName(name);//你可以加上this来调用方法,像这样:this.setName(name);但这并不是必须的 this.setAge(age); this.print(); System.out.println("InPersonAconstuctorwithparameters"); }publicvoidsetName(Stringname){ this.name=name;//此处必须指明你要引用成员变量 } publicvoidsetAge(intage){ this.age=age; } publicvoidprint(){ System.out.println("Name="+name+"Age="+age);//在此行中并不需要用this,因为没有会导致混淆的东西 } } super的用法例:super的用法publicclassPersonCextendsPersonA{ publicPersonC(){ //super(); } publicPersonC(Stringname,intage){ super(name,age); } publicstaticvoidmain(String[]args){ newPersonC(); newPersonC("Mary",3); } }4.1.5final的意义publicclassTest4_13{ finaldoublePI=3.14;//在定义时便给址值 finalinti;//因为要在构造方法中进行初始化,所以此处便不可再给值 Test4_13(){ i=100; list=newLinkedList();

王子****青蛙
实名认证
内容提供者


最近下载