第四章 继承

1,设计Fish,Bird类都继承抽象类Animal类,实现抽象方法info并输出信息
package com.bdqn.demo;
abstract class Animal{//抽象类
	private String name;//名字
	private int age;//年龄
	public abstract void info();//抽象方法
	public Animal(String name, int age) {
		this.age=age;
		this.name=name;
	}
	public String getName() {//获取名字
		return name;
	}
	
	public int getAge() {//获取年龄
		return age;
	}
	
	
}
class Bird extends Animal{//继承抽象类
	private String color;//颜色
	public Bird(String name,int age,String color) {
		super(name,age);
		this.color=color;
	}
	public String getBird() {//获取颜色
		return color;
	}
	public void info() {//输出方法
		System.out.println("我是一只"+getBird()+"的"+getName()+"!");
		System.out.println("今年"+getAge()+"岁了!");
	}
	}
	

class Fish extends Animal{//继承抽象类
	private int weight;//体重
	public Fish(String name,int age,int weight) {//传递参数
		super(name,age);
		this.weight=weight;
	}
	
	public int getWeight() {//获取变量
		return weight;
	}

	public void setWeight(int weight) {
		this.weight = weight;
	}

	
	public void info() {//输出方法
		System.out.println("我是一只"+getWeight()+"斤重的"+getName()+"!");
		System.out.println("今年"+getAge()+"岁了!");
	}
}


public class AnimalTest {//测试类
	
   public static void main(String[] args) {
		Bird b=new Bird("鸟",4,"红色");//创建对象
		b.info();//输出方法		
		Fish f=new Fish("鱼",2,5);
		f.info();
   }
}

2,让子类继承父类,并实现子类特有的属性和方法
package com.baqn.demo;

 abstract class Animal{//父类
	 private String name;//名字
	 private String type;//种类
	 public abstract void info();
	 public Animal( String name,String type) {
		 this.name=name;
		 this.type=type;
	 }
	public String getName() {//获取名字
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getType(){//获取种类
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	 
 }
class Chick extends Animal{//子类
	public Chick(String name,String type) {//传递参数
		super(name,type);
		}
	
	
		public void info() {
			System.out.println("我叫"+getName()+"是一只"+getType()+"!");//调用属性
		}
		public void eat() {
			System.out.println("我喜欢吃虫子!");
		}
		public void play() {
			System.out.println("我会打鸣!");
		}
	}
class Duck extends Animal{//子类
	public Duck(String name,String type) {//传递参数
		super(name,type);
	}
	public void info() {
		System.out.println("我叫"+getName()+",是一只"+getType()+"!");//调用属性
	}
	public void eat() {//吃方法
		System.out.println("我喜欢吃小鱼虾!");
	}
	public void play() {//技能方法
		System.out.println("我会游泳!");
	}
}

public class AnimalTest {
    public static void main(String[] args) {
		Chick c=new Chick("喔喔","芦花鸡");
		c.info();
		c.eat();
		c.play();
		Duck d=new Duck("嘎嘎","斑嘴鸭");
		d.info();
		d.eat();
		d.play();
		
	}
}





猜你喜欢

转载自blog.csdn.net/jiangmye/article/details/80089737