java基础day08

 

       继承 是Java中实现代码重用的重要手段之一。Java中只支持单继承,即一个类只能有一个直接父类。Java.lang.Object类是所有Java类的祖先。
 在子类中可以根据实际需求对从父类继承的方法进行重新编写,称为方法的重写或覆盖。
 子类中重写的方法和父类中被重写方法具有相同的方法名、参数列表,返回值类型必须和被重写方法的返回值类型相同或者是其子类。
 如果子类的构造方法中没有通过super显式调用父类的有参构造方法,也没有通过this显式调用自身的其他构造方法,则系统会默认先调用父类的无参构造方法。
 抽象类不能实例化。抽象类中可以没有,可以有一个或多个抽象方法。子类必须重写所有的抽象方法才能实例化,否则子类还是一个抽象类。
 用final修饰的类,不能再被继承。用final修饰的方法,不能被子类重写。用final修饰的变量将变成常量,只能赋值一次。

继承的实现方式:extends

建议使用的访问修饰符:protected

继承的特点:1、传递性  2、相对性  3、单根性(一个子类有且仅有一个父类)、

继承描述关系:son  extends father, son is a father

 

Super:当前对象的父类对象

This:当前对象

案例 demo设计Bird、Fish类,都继承在抽象类Animal,实现其抽象方法info(),并输出他们的信息。

//抽象类Animal
public abstract class Animal {
      int age;
      
      public Animal(int age) {
        super();
        this.age = age;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public abstract void info();
              
}

//鸟类继承动物类

public class Bird extends Animal {
   public Bird(int age,String color) {
        super(age);
        this.color = color;
        // TODO Auto-generated constructor stub
    }

   String color;

public String getColor() {
    return color;
}

public void setColor(String color) {
    this.color = color;
}

@Override
public void info() {
    // TODO Auto-generated method stub
    System.out.println("我是一只" + this.color + "的鸟\n今年" + this.getAge() + "岁了!");
}
}

//鱼类继承动物类
public class Fish extends Animal {
      int weight;
    public Fish(int age ,int weight) {
        super(age);
        this.weight = weight;
        // TODO Auto-generated constructor stub
    }

    public int getWeight() {
        return weight;
    }

    public void setWeight(int weight) {
        this.weight = weight;
    }

    @Override
    public void info() {
        // TODO Auto-generated method stub
        System.out.println("我是一只"+this.weight+"斤重的鱼\n今年"+this.getAge()+"岁了!");
    }
      
}

//测试类

public class Test {
         public static void main(String[] args) {
             Animal  b = new Bird(4,"红色");
             Animal  f = new Fish(2,5);
             b.info();
             f.info();
        }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值