黑马程序员技术交流社区
标题:
java抽象 继承 接口大集合
[打印本页]
作者:
实践出真知
时间:
2015-1-28 22:21
标题:
java抽象 继承 接口大集合
/*
猫狗案例,加入跳高的额外功能
分析:从具体到抽象
猫:
姓名,年龄
吃饭,睡觉
狗:
姓名,年龄
吃饭,睡觉
由于有共性功能,所以,我们抽取出一个父类:
动物:
姓名,年龄
吃饭();
睡觉(){}
猫:继承自动物
狗:继承自动物
跳高的额外功能是一个新的扩展功能,所以我们要定义一个接口
接口:
跳高
部分猫:实现跳高
部分狗:实现跳高
实现;
从抽象到具体
使用:
使用具体类
*/
//定义一个接口
interface Jumping
{
public abstract void jump();
}
abstract class Animals
{
//名字
private String name;
//年龄
private int age;
//无参和有参构造函数
public Animals(){}
public Animals(String name,int age)
{
this.name=name;
this.age=age;
}
public void setAge(int age)
{
this.age=age;
}
public int getAge()
{
return age;
}
public void setName(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
public abstract void eat();
public void sleep()
{
System.out.println("jjjjj");
}
}
class Dog extends Animals
{
public Dog(){}
public Dog(String name,int age)
{
super(name,age);
}
public void eat()
{
System.out.println("狗吃肉");
}
}
class Cat extends Animals
{
public Cat(){}
public Cat(String name,int age)
{
super(name,age);
}
public void eat()
{
System.out.println("猫吃鱼");
}
}
class CatI extends Cat implements Jumping
{
public CatI(){}
public CatI(String name,int age)
{
super(name,age);
}
public void jump()
{
System.out.println("ooooo");
}
}
class DogI extends Dog implements Jumping
{
public DogI(){}
public DogI(String name,int age)
{
super(name,age);
}
public void jump()
{
System.out.println("hhhhh");
}
}
class TestInterface
{
public static void main(String []args)
{
DogI d=new DogI("加菲猫",9);
System.out.println(d.getName()+"======"+d.getAge());
d.eat();
d.sleep();
}
}
作者:
yueye13
时间:
2015-1-29 00:00
都是看视频的人
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2