黑马程序员技术交流社区

标题: 请查看代码,当父类引用对象,引用jump方法就会出现错误 [打印本页]

作者: 251855915    时间: 2016-4-10 22:42
标题: 请查看代码,当父类引用对象,引用jump方法就会出现错误
  1. class Test1_Animal1  {
  2.         public static void main(String[] args)  {
  3.                 Animal1 a = new Cat("汤姆",3);
  4.                 a.sleep();
  5.                 a.eat();
  6.                 //a.jump();                                                                //不可以调用jump方法,因为父类Animal中没有jump方法,编译不能通过
  7.                 System.out.println("--------------------------------");
  8.                 Cat c = new Cat("加菲",3);
  9.                 c.sleep();
  10.                 c.eat();
  11.                 c.jump();
  12.                 System.out.println("--------------------------------");
  13.                 Dog d = new Dog("八公",9);
  14.                 d.sleep();
  15.                 d.eat();
  16.                 d.jump();
  17.         }
  18. }
  19. //创建父类animal,成员变量姓名,年龄,成员方法睡觉,抽象方法吃饭
  20. abstract class Animal1 {
  21.         private String name;
  22.         private int age;
  23.        
  24.         public Animal1(){}
  25.         public Animal1(String name,int age){
  26.                 this.name = name;
  27.                 this.age = age;
  28.         }

  29.         public void setName(String name){
  30.                 this.name = name;
  31.         }
  32.         public String getName(){
  33.                 return name;
  34.         }
  35.         public void setAge(int age){
  36.                 this.age = age;
  37.         }
  38.         public int getAge(){
  39.                 return age;
  40.         }
  41.         public void sleep(){
  42.                 System.out.println(name+"睡觉");
  43.         }
  44.         public abstract void eat();
  45. }
  46. //接口,jump
  47. interface Jump {
  48.         public void jump();
  49. }
  50. //创建类cat,父类为Animal,接口有jump,重写父类抽象方法eat,重写接口方法jump
  51. class Cat extends Animal1 implements Jump {
  52.         public Cat(){}
  53.         public Cat(String name,int age){
  54.                 super(name,age);
  55.         }

  56.         public void eat(){
  57.                 System.out.println(this.name+"吃鱼");
  58.         }
  59.         public void jump(){
  60.                 System.out.println(this.name+"跳高");
  61.         }

  62. }
  63. //创建类dog,父类为Animal,接口有jump
  64. class Dog extends Animal1 implements Jump {
  65.         public Dog(){}
  66.         public Dog(String name,int age){
  67.                 super(name,age);
  68.         }
  69.         public void eat(){
  70.                 System.out.println(this.name+"吃肉");
  71.         }

  72.         public void jump(){
  73.                 System.out.println(this.name+"跳高");
  74.         }
  75. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2