packagecase1;classTestPersonDemo{publicstaticvoidmain(String[] args){/********* begin *********/// 声明并实例化一Person对象pPerson p=newPerson();// 给p中的属性赋值
p.setAge(18);
p.setName("张三");// 调用Person类中的talk()方法
p.talk();/********* end *********/}}// 在这里定义Person类classPerson{/********* begin *********/publicString name;publicint age;publicStringgetName(){return name;}publicvoidsetName(String name){this.name = name;}publicintgetAge(){return age;}publicvoidsetAge(int age){this.age = age;}voidtalk(){System.out.print("我是:"+this.name+",今年:"+this.age+"岁");}/********* end *********/}
第二关
packagecase2;publicclass extendsTest {publicstaticvoidmain(String args[]){// 实例化一个Cat对象,设置属性name和age,调用voice()和eat()方法,再打印出名字和年龄信息/********* begin *********/Cat cat =newCat();
cat.name="大花猫";
cat.age=6;
cat.voice();
cat.eat();System.out.println(cat.name+cat.age+"岁");/********* end *********/// 实例化一个Dog对象,设置属性name和age,调用voice()和eat()方法,再打印出名字和年龄信息/********* begin *********/Dog dog=newDog();
dog.name="大黑狗";
dog.age=8;
dog.voice();
dog.eat();System.out.println(dog.name +dog.age+"岁");/********* end *********/}}classAnimal{/********* begin *********/publicString name;publicint age;/********* end *********/}classCatextendsAnimal{// 定义Cat类的voice()和eat()方法/********* begin *********/publicvoid voice (){System.out.println("大花猫喵喵叫");}publicvoideat(){System.out.println("大花猫吃鱼");}/********* end *********/}classDogextendsAnimal{// 定义Dog类的voice()和eat()方法/********* begin *********/publicvoid voice (){System.out.println("大黑狗汪汪叫");}publicvoideat(){System.out.println("大黑狗吃骨头");}/********* end *********/}
第三关
packagecase3;publicclass superTest {publicstaticvoidmain(String[] args){
// 实例化一个Student类的对象s,为Student对象s中的school赋值,打印输出信息
/********* begin *********/
Student student=newStudent();
student.name="张三";
student.age=18;// student.school="哈佛";
student.message("哈佛大学");
/********* end *********/}}classPerson{/********* begin *********/publicString name;publicint age;publicPerson(){}publicPerson(String name,int age ){this.name=name;this.age=age;}/********* end *********/}classStudentextendsPerson{/********* begin *********/publicString school;publicvoidmessage(String school ){this.school=school;System.out.println("姓名:"+super.name+","+"年龄:"+super.age+",学校:"+this.school);}/********* end *********/}
第四关
packagecase4;publicclass overridingTest {publicstaticvoidmain(String[] args){// 实例化子类对象s,调用talk()方法打印信息/********* begin *********/Student student =newStudent();
student.talk("张三",18,"哈佛大学");/********* end *********/}}classPerson{/********* begin *********/String name;int age;publicvoidtalk(String name,int age ){this.name=name;this.age=age;}/********* end *********/}classStudentextendsPerson{/********* begin *********/String school;publicvoidtalk(String name,int age,String school ){this.name=name;this.age=age;this.school=school;System.out.printf("我是:"+super.name+",今年:"+super.age+"岁,我在"+this.school+"上学");}/********* end *********/}
第五关
packagecase5;publicclass abstractTest {publicstaticvoidmain(String[] args){
/********* begin *********/
// 分别实例化Student类与Worker类的对象,并调用各自构造方法初始化类属性。Student student =newStudent();Worker worker=newWorker();
// 分别调用各自类中被复写的talk()方法 打印信息。
student.talk("张三",20,"学生");
worker.talk("李四",30,"工人");
/********* end *********/}}// 声明一个名为Person的抽象类,在Person中声明了三个属性name age occupation和一个抽象方法——talk()。abstractclassPerson{/********* begin *********/String name;int age;String occupation;abstractvoidtalk(String name,int age,String occupation);/********* end *********/}// Student类继承自Person类,添加带三个参数的构造方法,复写talk()方法 返回姓名、年龄和职业信息classStudentextendsPerson{/********* begin *********/voidtalk(String name,int age,String occupation){this.age=age;this.name=name;this.occupation=occupation;System.out.println("学生——>姓名:"+name+",年龄:"+age+",职业:"+occupation+"!");}}/********* end *********/// Worker类继承自Person类,添加带三个参数的构造方法,复写talk()方法 返回姓名、年龄和职业信息classWorkerextendsPerson{/********* begin *********/voidtalk(String name,int age,String occupation){
this.age=age;
this.name=name;
this.occupation=occupation;
System.out.println("工人——>姓名:"+name+",年龄:"+age+",职业:"+occupation+"!");}}/********* end *********/
第六关
packagecase6;publicclass finalTest {publicstaticvoidmain(String args[]){Bike1 obj =newBike1();
obj.run();Honda honda =newHonda();
honda.run();Yamaha yamaha =newYamaha();
yamaha.run();}}//不可以修改 final 变量的值// final方法,不可以重写 不可以扩展 final 类//请在此添加你的代码/********** Begin *********/classBike1{int speedlimit =90;voidrun(){
speedlimit =120;System.out.println("speedlimit=120");}}classBike2{voidrun(){System.out.println("running");}}classHondaextendsBike2{voidrun(){System.out.println("running safely with 100kmph");}}classBike3{}classYamahaextendsBike3{voidrun(){System.out.println("running safely with 100kmph");}}/********** End **********/
第七关
packagecase7;publicclass interfaceTest {publicstaticvoidmain(String[] args){// 实例化一Student的对象s,并调用talk()方法,打印信息/********* begin *********/Student s=newStudent();
s.talk();/********* end *********/}}// 声明一个Person接口,并在里面声明三个常量:name、age和occupation,并分别赋值,声明一抽象方法talk()interfacePerson{/********* begin *********/String name="张三";int age=18;String occupation="学生";voidtalk();/********* end *********/}// Student类继承自Person类 复写talk()方法返回姓名、年龄和职业信息classStudentimplementsPerson{/********* begin *********/publicvoid talk (){System.out.println("学生——>姓名:"+this.name+",年龄:"+this.age+",职业:"+this.occupation+"!");}/********* end *********/}
第八关
packagecase8;publicclassTestPolymorphism{publicstaticvoidmain(String[] args){// 以多态方式分别实例化子类对象并调用eat()方法/********* begin *********/Animal d=newDog();Animal c=newCat();Animal l=newLion();
d.eat();
c.eat();
l.eat();/********* end *********/}}// Animal类中定义eat()方法classAnimal{/********* begin *********/voideat(){}/********* end *********/}// Dog类继承Animal类 复写eat()方法classDogextendsAnimal{/********* begin *********/voideat(){System.out.println("eating bread...");}/********* end *********/}// Cat类继承Animal类 复写eat()方法classCatextendsAnimal{/********* begin *********/voideat(){System.out.println("eating rat...");}/********* end *********/}// Lion类继承Animal类 复写eat()方法classLionextendsAnimal{/********* begin *********/voideat(){System.out.println("eating meat...");}/********* end *********/}