类的继承

类的继承总结
1.Java继承语法格式
继承关键字是:extends
继承的格式:
public class 类名 extends 类名 {

}
注意:
在继承的过程中,子类继承到了父类的所有属性和方法,但不一定能调用父类所有的属性和方法。类有public、protected、默认的、private这四种访问修饰符;若子类和父类在同一包下,则子类可继承到父类中访问修饰符为public、private和默认的属性和方法子类都可以调用;在不同包下时可调用public和protected的属性和方法;public在子类和父类时同一项目下可调用;而private只能在同一类中被调用;
方法的重写
重写条件:存在继承关系
返回值数据类型、方法名、参数类型、参数个数、参数顺序必须要完全一致
子类重写方法时可以扩大访问修饰符的范围(但是不能缩小)
在子类中父类的方法不适合子类时使用方法重写,
例:学生的学习方法,在小学生、大学生这些类中的学习方法有所改变,所以在这些子类中要重新定义学习方法,这就是方法重写。要在方法重写后调用父类的方法用super关键字例:super 对象名.方法
自动转型
条件
必须要存在继承关系

格式
父类名 对象名 = new 子类名();

问题:无法调用子类的方法
原因:java的编译机制;

英语老师现在是给大学生教英语。也可以给高中生、初中生、小学生、幼儿园学生教英语
teach(大学生){ study(); }
teach(高中生){ study(); }
teach(初中生){ study(); }
teach(小学生){ study(); }
teach(幼儿园学生){ study(); }

teach(学生){
study();
}
练习:1.回合制游戏:德玛(四个技能(技能名和攻击力))+卡牌(四个技能(技能名和攻击力))要去战斗,直到一方的血量为0的时候结束战斗,输出谁胜利了。
德玛和德玛战斗
卡牌和卡牌战斗
核心代码:
public class Dema1 extends Dema {

//重写父类的对战方法
public void fight1(Dema de){
//De对象减少血量的方法
de.setBlood(de.getBlood()-1);
if(de.getBlood()<=0){
System.out.println(getName()+"胜利了!!");
}
}


while(de1.getBlood() > 0 && ka.getBlood() > 0){
de1.fight(ka);// 德玛1攻击卡牌
if(ka.getBlood() <= 0){
System.out.println(de1.getName()+"胜利!");
break;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值