周而复始3
2017-03-19 21:18
1. 创建项目:InterfaceProject;
2. 创建Animal类,该类是抽象类:
·声明一个受保护的整数实例变量legs,记录动物的腿的数目;
·定义一个受保护的构造方法来初始化legs实例变量;
·声明抽象方法eat;
·声明具体方法walk来显示与动物行走方式有关的信息(包括腿的数目);
3. 创建Pet接口:声明三个抽象方法:
public String getName();
public void setName(String n);
public void play();
4. 创建Spider类:
·Spider类扩展了Animal类;
·定义一个无参数构造方法,调用父类构造方法来指明所有蜘蛛都有八条腿;
·实现eat方法;
5. 创建Cat类:
·声明String实例变量来存储宠物的名字;
·定义一个构造方法,使用String参数来指定猫的名字;该构造方法必须调用父类构造方法来指明所有猫都有四条腿;
0
·实现Pet接口方法;
·实现eat方法;
6. 创建Fish类:
·声明String实例变量来存储宠物的名字;
·定义一个无参数的构造方法,该构造方法调用父类构造方法来指明鱼没有腿;
·实现Pet接口方法;
·覆盖walk方法,该方法调用所有的超级方法,并打印输出一条说明鱼不会行走的消息;
·实现eat方法;
7. 创建TestAnimal类:
·该类有程序入口main()函数;
·创建并操作前面所创建的类的实例;
·调用每个对象中的方法;
·对象类型转换;
·使用多态特性;
·使用super关键字调用父类方法。
public abstract class Animal {
protected int legs;
protected Animal(int legs) {
this.legs = legs;
}
public abstract void eat();
public void walk() {
System.out.println("walk");
}
}
public class Spider extends Animal {
public Spider(int legs) {
super(legs);
}
public void eat() {
System.out.println("Spider is eating");
}
}
public class Cat extends Animal implements Pet{
String name;
public Cat(String name, int legs) {
super(legs);
this.name = name;
}
public void eat() {
}
public Cat() {
this("cat", 4);
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public void play(){
}
}
public interface Pet {
public String getName();
public void setName(String name);
public void play();
}
public class Fish extends Animal implements Pet{
String name;
public Fish(){
super(legs);
}
public void walk(){
System.out.println("Fish can't walk!");
}
public void eat(){
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public void play(){
}
}
public class TestAnimal {
public static void main(String[] args) {
// TODO Auto-generated method stub
Animal a=new Spider(8);
a.eat();
Animal b=new Cat("wal",4);
}
b.eat();
}
代码如下 有错误 做到一半也有错的
Java入门第二季 升级版
530714 学习 · 6091 问题
相似问题