------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一:抽象类(掌握)
(1)把多个共性的东西提取到一个类中,这是继承的做法。//定义跳高接口(因为动物调高属于扩功能) interface Jump{ public abstract void jump(); } //定义抽象类,因为动物具有共性,就把共性定义在抽象类中 abstract class Animal{ //定义成员变量 private String name; private int age; //构造方法 public Animal(){} public Animal(String name,int age){ this.name=name; this.age=age; } public String getName(){ return name; } public int getAge(){ return age; } //定义抽象方法,因为不同动物吃的东西不一样。 public abstract void eat(); //定义共有方法 public void sleep(){ System.out.println("动物都要睡觉"); } } //定义猫类继承动物类 class Cat extends Animal{ //构造方法 public Cat(){} public Cat(String name,int age){ super(name,age); } //重写父类的抽象方法。 public void eat(){ System.out.println("猫吃鱼"); } } //定义狗类继承动物类 class Dog extends Animal{ //构造方法 public Dog(){} public Dog(String name,int age){ super(name,age); } //重写父类的抽象方法。 public void eat(){ System.out.println("狗吃骨头"); } } //定义会跳高的猫实现调高类 class JumpCat extends Cat implements Jump{ public JumpCat(){} public JumpCat(String name,int age){ super(name,age); } public void jump(){ System.out.println("跳高猫会跳高"); } } //定义会跳高的狗实现调高类 class JumpDog extends Dog implements Jump{ public JumpDog(){} public JumpDog(String name,int age){ super(name,age); } public void jump(){ System.out.println("跳高狗会跳高"); } } class Test{ public static void main(String[]args){ //创建会跳高的猫对象。 JumpCat c=new JumpCat("哆啦A梦",2); System.out.println(c.getName()+"----"+c.getAge()); c.eat(); c.sleep(); c.jump(); } }
黑马程序员----java基础---抽象类和接口,附相关面试题
原文地址:http://blog.csdn.net/qiushi_1990/article/details/46436909