关于java中对继承的理解

继承的格式:public class 子类名 extends 父类名{ }
关键字super:
在Java类中使用super来引用父类的成分
super可用于访问父类中定义的属性
super可用于调用父类中定义的成员方法
super可用于在子类构造方法中调用父类的构造方法
Supper关键字有两个特殊的用途:
在子类构造函数中调用父类的构造函数
在子类中调用父类的方法。

子类中对父类方法的重写规则:
1、子类重写父类中的方法时,访问权限只能扩大,不能减小(public>protected>默认>private);
2、父类中private权限的方法无法被子类重写;
3、子类方法必须和被重写的父类方法具有相同的方法名称、参数列表和返回值类型。

方法重载:在同一个类中可以定义多个同名方法。
1、重载方法的参数列表必须不同,也就是参数个数或参数类型不同;
2、重载方法的返回值类型可以相同,也可以不同。
构造方法重载:
1、构造方法重载,参数列表必须不同,也就是参数个数或参数类型不同;
2、可以在构造方法的第一行使用this关键字调用本类的其它(重载的)构造方法。
[code="java"][/code]
public class Test1 {
public static void main(String[] args) {
Autom a =new Autom("Autom");
a.setBlood(1000);
Monst m =new Monst("Monst");
m.setBlood(500);
Boss b =new Boss("Boss");
b.setBlood(500);
while(a.getBlood()>0 || m.getBlood() > 0 || b.getBlood() >0 )
{
a.pk(m);
a.pk(b);
m.pk(a);
b.pk(a);
}
}
}


public class Fa {
String name;
private int blood;
public void setBlood(int blood){
if(blood >=0 && blood <= 1000){
this.blood = blood;
}
}
//fa的构造方法
public Fa(String name){
this.name = name;
}
//得到血量值的方法
public int getBlood(){
return blood;
}
//st是被打对象
public void pk(Fa st){
//fightnum++;
st.blood--;
System.out.println(this.name+"剩下的血是"+this.blood
+" pk "+st.name+"剩下的血量是"+st.blood);
}
}


public class Autom extends Fa {
public Autom(String name){
super(name);
}
}


public class Boss extends Fa {
public Boss(String name){
super(name);
}
}


public class Monst extends Fa {
public Monst(String name){
super(name);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值