Java面向对象之二——继承

继承:是防止子类出现重复代码。

方法重写的特点:

(1)方法重写的3大特点:
(2)发生在父类与子类之间
(3)方法名相同,参数列表相同,返回类型相同
(4)子类重写方法的访问权限>=父类被重写的方法
实例:

Animal:


public class Animal {
protected boolean mammal;//是否哺乳动物
 protected boolean carnivorous;//是否是食肉动物
 protected int mood;//心情
public boolean isMammal() {
return mammal;
}
public void setMammal(boolean mammal) {
this.mammal = mammal;
}
public boolean isCarnivorous() {
return carnivorous;
}
public void setCarnivorous(boolean carnivorous) {
this.carnivorous = carnivorous;
}
public int getMood() {
return mood;
}
public void setMood(int mood) {
this.mood = mood;
}
public Animal() {
super();
System.out.println("这是动物类的无参数的构造方法!");
}
public Animal(boolean mammal, boolean carnivorous, int mood) {
super();
System.out.println("这是动物的有参数构造方法!");
this.mammal = mammal;
this.carnivorous = carnivorous;
this.mood = mood;
}
 public String sayHello(){
return "Hello";
 }
 public String sayHello(int mood){
switch(mood){
case 1:
return ("不高兴的叫");
case 2:
return ("高兴的叫");
default:
return ("Hello");
}
 }

}

Frog:

public class Frog extends Animal {
 private int numOfLegs;
 private boolean gillFlag;//是否有鳃
 private boolean laysEggs;//是否卵生


public int getNumOfLegs() {
return numOfLegs;
}


public void setNumOfLegs(int numOfLegs) {

this.numOfLegs = numOfLegs;
}




public boolean isGillFlag() {
return gillFlag;
}


public void setGillFlag(boolean gillFlag) {
this.gillFlag = gillFlag;
}


public boolean isLaysEggs() {
return laysEggs;
}


public void setLaysEggs(boolean laysEggs) {
this.laysEggs = laysEggs;
}


public Frog() {
super();
this.mammal=true;
this.carnivorous=true;
this.gillFlag=true;
this.laysEggs=true;
this.mood=1;
this.numOfLegs=4;

}


public Frog(boolean mammal, boolean carnivorous, int mood,int numOfLegs,boolean gillFlag,boolean laysEggs) {
super(mammal, carnivorous, mood);
this.numOfLegs=numOfLegs;
this.gillFlag=gillFlag;
this.laysEggs=laysEggs;

}


@Override
public String sayHello() {
// TODO Auto-generated method stub
return "呱呱呱";
}


@Override
public String sayHello(int mood) {
switch(mood){
case 1:
return("扑通一声跳入水中");
default:
return("呱呱呱");

}
}
 public void show(){
if(this.mammal==true){
System.out.println("青蛙是哺乳动物");
}else{
System.out.println("青蛙不是哺乳动物");
}
if(this.carnivorous==true){
System.out.println("青蛙是食肉动物");
}else{
System.out.println("青蛙不是食肉动物");
}  
if(this.gillFlag==true){
System.out.println("青蛙有鳃");
}else{
System.out.println("青蛙无鳃");
}
if(this.laysEggs==true){
System.out.println("青蛙产卵");
}else{
System.out.println("青蛙不产卵");
}
 }

}

TestFrog:

public class TestFrog {

public static void main(String[] args) {
   Frog frog1=new Frog();
frog1.show();
System.out.println("青蛙通常情况下,打招呼的方式为:"+frog1.sayHello());
System.out.println("青蛙情绪好的时候会:"+frog1.sayHello(0));
System.out.println("青蛙受到惊吓时会"+frog1.sayHello(1));
System.out.println("青蛙有"+frog1.getNumOfLegs()+"条腿");
System.out.println("-----------------------------");
Frog frog2=new Frog(false,false,1,6,true,true);
frog2.show();
System.out.println("青蛙通常情况下,打招呼的方式为:"+frog2.sayHello());
System.out.println("青蛙情绪好的时候会:"+frog2.sayHello(0));
System.out.println("青蛙受到惊吓时会"+frog2.sayHello(1));
System.out.println("青蛙有"+frog2.getNumOfLegs()+"条腿");
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值