实验2:java继承

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二:继承

实验说明:

编码实现动物世界的继承关系:

a) 动物(Animal)具有行为:吃(eat)、睡觉(sleep)

b) 受保护得物件(接口)具有得行为:beProtected();

c) 有价值得物件(接口)具有得行为:getMoney()

d) 老虎是动物,同时是有价值且受保护得动物类型。

e) 熊猫是动物,同时是有价值且受保护得动物类型。

f) 这些动物吃的行为各不相同(熊猫吃竹子,老虎吃肉);但睡觉的行为是一致的;受保护得级别不一致,价值也不一致。

g) 请通过继承,接口实现以上需求,并编写测试类AnimalTest进行测试。

运行结果:

源代码:

Animail.java父类-动物类

public class Animal

{

private String name;

private String food;

//吃的一个行为

public void eat() throws Exception{

System.out.println(+"吃"+this.food+"!");

}

//睡觉的一个行为

public void sleep(){

System.out.println(+"在睡觉!");

}

public String getName()

{

return name;

}

public void setName(String name)

{

= name;

}

public String getFood()

{

return food;

}

public void setFood(String food)

{

this.food = food;

}

}

AnimalInterface.Java 接口

public interface AnimalInterface

{

//默认为public,因为接口要被实现,并被广范使用,

//所以最好是public因为如果不是公开的就没有必要做接口了

void beProtected();

void getMoney();

}

AnimalTest.java 测试类

public class AnimalTest

{

/**

* @param args

* @throws Exception

*/

public static void main(String[] args) throws Exception

{

//当一种动物创造出来的时候,就会有一些行为因为extends(继承)了Animal(动物)的特征

Tiger t= new Tiger();

Panda p= new Panda();

System.out.println("-------分割线--------");

//这是继承,当一个动物被生成的时候,就已经被赋予了类型和食物

t.eat();//饿了就得吃

t.sleep();//困了就得睡

p.eat();//不管什么动物都是一样的

p.sleep();//所以也要睡觉

//动物都有许多相同点,比如老虎和熊猫,它们是受保护的,和有价值的

//有些是必须的,所以implement(实现)了AnimalInterface(动物界的一些特征-一个接口)

t.beProtected();

p.beProtected();

System.out.println("-------分割线--------");

//如果觉得没有这些特征,那么可以不实现

Animal m= new Mouse();//真是悲哀,没有特权,因为老爹不是李刚所以没有保护,也没有价值,不过有的行为还是有的只是有点不同,像下面一样

m.eat();//因为重写了eat方法(环境所迫)所以它吃的行为有点与众不同

System.out.println("-------分割线--------");

//这是继承的第二种表现形式

Animal tt=new Tiger();

tt.eat();

Animal pp=new Panda();

pp.eat();

System.out.println("-------分割线--------");

//实现接口

//由父类造一个子类

AnimalInterface at = new Tiger();

AnimalInterface ap = new Panda();

System.out.println("-------分割线--------");

at.beProtected();

at.getMoney();

ap.beProtected();

ap.getMoney();

}

}

Panda.java熊猫类,继承了父类,并实现了接口

public class Panda extends Animal implements AnimalInterface

{

public Panda() throws Exception{

this.setName("熊猫");

this.setFood("竹子");

super.eat();

beProtected();

getMoney();

}

@Override

public void beProtected()

{

System.out.println(this.getName()+"是受保护的动物类型");

}

@Override

public void getMoney()

{

System.out.println(this.getName()+"是有价值的动物类型");

}

相关文档
最新文档