------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