类的继承

类的继承
1.类继承的概念和应用
 a.继承的关键字:extends
 b.实例:
 创建一个annimals类
 
 public class annimals {
 
 private int blood;//定义血量
 private String name;//动物的名字
 
 public void setBlood(int blood) {
  this.blood = blood;
 }
 public int getBlood() {
  return blood;
 }
 public String getName() {
  return name;
 }
 
 public void setName(String name) {
  this.name = name;
 }
 
 public void speed(){
  System.out.println(name+"的移动速度是100m/s,"+"血量是"+blood);
 }
 
 public void eat(){
  System.out.println();
 }
 
 }
创建一个horse类继承annimals类

public class horse extends annimals{

 public void eat(){
  System.out.println(this.getName()+"是素食动物,"+"血量是"+this.getBlood());
 }
 
 public void jump(){
  System.out.println(this.getName()+"跳跃的距离是50m");
 }
 
}
函数的入口
public static void main(String[] args) {
  实例化一个父类annimals对象
  annimals an=new annimals();
  an.setBlood(1000);
  an.setName("狮子");
  an.eat();
  an.speed();
  
  实例化一个子类horse对象
  horse ho=new horse();
  ho.setBlood(2000);
  ho.setName("兔子");
  ho.eat();
  ho.jump();
  //实例化一个annimals类,为他的子类horse类
  annimals Ant=new horse();
  Ant.setBlood(4000);
  Ant.setName("狗");
  Ant.speed();
  Ant.eat();
  }

}
  从annimls是horse的父类,horse自然就是子类了
 子类拥有父类的属性和方法
 但是注意的:
 01.子类只能从父类中继承非private的属性,如果子类要拥有父类的私有属性,必须通过调用父类的属性方法,
  来拥有父类的的属性。
  例如:
  父类中的
  private int blood;//定义血量
  private String name;//动物的名字
  
  子类要调用通过调用方法
  an.setBlood(1000);
  an.setName("狮子");
   
 02.其他的子类都可以用,但要注意修饰符(public protected 默认的 private)范围:
  public :继承只能在同一个工程中
  protected :在同一个包的所有类
  默认的:存在继承关系
  private :该类私有的,不能继承

 

2.方法的重写
 当子类有自己的不同于父类的方法时;子类必须重写方法
 注意的地方:重写的方法必须与父类的方法名完全相同
 例如:子类中的
 public void eat(){
  System.out.println(this.getName()+"是素食动物,"+"血量是"+this.getBlood());
 }
  与父类中的
  public void eat(){
  System.out.println();
 }
 方法名完全相同
 与方法的重载区别
 方法的重载是在同一个类中,而方法的重写是在不同的类中且必须存在继承时
3.多态的理解
 1.产生的原因:由于子类与父类的方法,存在的重载,子类会转变为父类
 
 2例如:主函数中
 //实例化一个annimals类,为他的子类horse类
  annimals Ant=new horse();
  Ant.setBlood(4000);
  Ant.setName("狗");
  Ant.speed();
  Ant.eat();

 解释:new horse() 会自然转变成父类
 函数的输出为:
 狗的移动速度是100m/s,血量是4000
 狗是素食动物,血量是4000
 原因分析:new horse()调用自己的eat()方法
    对于Ant.speed();由于new horse()重写了annimals的方法,因此是调用自己的方法


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值