首先不懂概念可以看看我前面的什么是封装和继承说的比较详细
咱们这里直接题目开道了的
设计Bird、Fish类,都继承父类Animal的属性和方法info(),并输出他们的信息。参考运行结果如下所示:
我是一只红色的鸟! Color
今年4岁了! age
我是一只5斤重的鱼! weight
今年2岁了! age
提示:
定义父类Animal,具有age属性、info()方法
定义Bird类,具有本身的特有属性color
定义Fish类,具有本身的特有属性weight。
我们来看看首先 鸟 和 鱼都是动物都有年龄我们来抽取题目相同的属性 age 组成父类Animal
父类
public class Animal2 {
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void info(int a) {
System.out.println("我今年" + a + "岁了");
}
}
再来看看抽取相同的属性后还剩啥属性返回放在各自的子类中
重要的事再说三遍封装快捷键ALT+Ins
Bird 类
public class Bird extends Animal2{
private String name; // 这里是我多写的,多多益善
private String color; //红色的鸟
public String getName() {
return name; //封装
}
public void setName(String name) {
this.name = name; //封装
}
public String getColor() {
return color; //封装
}
public void setColor(String color) {
this.color = color; //封装
}
public void showme(int a){
System.out.println("我是一只"+getColor()+"的"+getName());
super.info(a); //这里的super.info()直接使用了父类的年龄属性跟方法让子类节省时间跟完善父类
}
}
Fish类
public class Fish extends Animal2{
private String name;
private int weight;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
public void showMe(int a){
System.out.println("我是一只"+getName()+"的,"+getWeight()+"斤");
super.info(a); //这里的super.info()直接使用了父类的年龄属性跟方法让子类节省时间跟完善父类
}
}
最后来看看测试类跟结果了
public class Test {
public static void main(String[] args) {
Bird bird = new Bird();
bird.setName("鸟");
bird.setColor("红色");
bird.showme(4);
Fish fish = new Fish();
fish.setName("鱼");
fish.setWeight(5);
fish.showMe(2);
}
}
下几篇深入的讲讲继承的使用