关于继承,抽象类,接口的一道题,各位大佬帮忙看一下,求正确代码。

来源:10-5 Java 中的接口

Air_Abigail

2017-11-19 13:54

用代码实现以下场景

抽象动物类,包含属性为动物的年龄。有一个猫科包含猫和狮子,它们都能跑(模拟跑的动作时,在控制台输出一句话就行),同时都含有一个标记牌属性,标记牌的作用是在控制台输出这个标记牌的材质与动物的年龄,例如:“标记牌:铁做的,该动物18岁”,标记牌的制作材料为木、铜、铁三种

要求:

1.编写Main函数并调用各个动物的奔跑方法与标记牌的标记方法

2.要使用类的继承、抽象类、接口来描述。

很急,十分感谢!


写回答 关注

1回答

  • qq_海边的乌鸦_0
    2017-11-19 14:37:50
    已采纳
    package com.mooc.animal;
    
    public abstract class Animal {
    	
    	public int age;
    	public abstract void run();
    }
    package com.mooc.animal;
    
    public class Cat extends Animal implements ISigns{
    	
    	
    	public Cat(int age){
    		this.age = age;
    	}
    	
    	@Override
    	public void run() {
    		// TODO Auto-generated method stub
    		System.out.println("猫在跑");
    	}
    
    	@Override
    	public void Materials() {
    		// TODO Auto-generated method stub
    		System.out.println("铁做的,该动物"+age+"岁");
    	}
    
    }
    package com.mooc.animal;
    
    public class Lion extends Animal implements ISigns{
    
    	public Lion(int age){
    		this.age = age;
    	}
    	
    	@Override
    	public void Materials() {
    		// TODO Auto-generated method stub
    		System.out.println("铜做的,该动物"+age+"岁");
    	}
    
    	@Override
    	public void run() {
    		// TODO Auto-generated method stub
    		System.out.println("狮子在跑");
    	}
    
    }
    package com.mooc.animal;
    
    public interface ISigns {
    	public void Materials();
    }
    package com.mooc.animal;
    
    public class Init {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Animal a = new Cat(18);
    		ISigns i =  new Cat(18);
    		
    		Animal l = new Lion(20);
    		ISigns IL = new Lion(20);
    		
    		a.run();
    		l.run();
    		i.Materials();
    		IL.Materials();
    		
    		
    	}
    
    }

    http://img.mukewang.com/5a1126a50001029404950175.jpg

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

531186 学习 · 6326 问题

查看课程

相似问题