package com.zhou.basics.dinamicarray;
public class Animal {
private String name;
public String say(){
return name+" 叫了一声:";
}
public Animal(String name) {
this.name = name;
}
}
class Dog extends Animal{
private String name;
private String behavior;
public String getName() {
return name;
}
public Dog(String name, String behavior) {
super(name);
this.name=name;
this.behavior = behavior;
}
public void setName(String name) {
this.name = name;
}
public String getBehavior() {
return behavior;
}
public void setBehavior(String behavior) {
this.behavior = behavior;
}
@Override
public String say(){
return super.say()+"汪";
}
public String behavior(){
return "名字:"+getName()+" "+getBehavior();
}
}
class Cat extends Animal{
private String name;
private String behavior;
public String getName() {
return name;
}
public Cat(String name, String behavior) {
super(name);
this.name=name;
this.behavior = behavior;
}
public void setName(String name) {
this.name = name;
}
public String getBehavior() {
return behavior;
}
public void setBehavior(String behavior) {
this.behavior = behavior;
}
@Override
public String say(){
return super.say()+"喵";
}
public String behavior(){
return getName()+" "+getBehavior();
}
}
class demo{
public static void main(String[]args){
Animal[] animals=new Animal[5];
animals[0]=new Animal("狮子");
animals[1]=new Dog("小汪","吃骨头");
animals[2]=new Dog("汪汪","吃肉");
animals[3]=new Cat("小喵","抓老鼠");
animals[4]=new Cat("喵喵","睡觉");
for (Animal animal:animals){
//公共的方法
System.out.println(animal.say());
//私有方法可以通过 instanceof判断,然后进行强转
if(animal instanceof Dog){
System.out.println(((Dog)animal).behavior());
}
if(animal instanceof Cat){
System.out.println(((Cat)animal).behavior());
}
}
/* 输出结果
狮子 叫了一声:
小汪 叫了一声:汪
名字:小汪 吃骨头
汪汪 叫了一声:汪
名字:汪汪 吃肉
小喵 叫了一声:喵
小喵 抓老鼠
喵喵 叫了一声:喵
喵喵 睡觉*/
}
}
Java动态数组
最新推荐文章于 2024-09-19 13:19:42 发布