java中的继承

继承是面向对象编程的三大特性之一。主要功能是在原有的基础上进行扩展。若果没有继承,那么代码将会出现大量重复。
继承的实现:通过extends关键字

class Animal {
public String name;
public Animal(String name) {
this.name = name;
}
public void eat(String food) {
System.out.println(this.name + "正在吃" + food);
}
}
class Cat extends Animal {
public Cat(String name) {
// 使用 super 调用父类的构造方法.
super(name);
}
}
class Bird extends Animal {
public Bird(String name) {
super(name);
}
public void fly() {
System.out.println(this.name + "正在飞");
}
}
public class Test {
public static void main(String[] args) {
Cat cat = new Cat("小黑");
cat.eat("猫粮");
Bird bird = new Bird("圆圆");
bird.fly();
}
}

特点:
子类会继承父类所有的public属性/方法
父类private修饰的字段/方法,子类中是无法访问的。
子类继承父类后,在构造方法中,需要先构造父类(没有父类,又怎么会产生字类,所以要先构造父类),如果父类的构造方法是有参数的,需要通过super()来显示调用。如果父类的构造方法是无参的,那么可以不用super(),子类会自动隐式调用父类无参的构造方法。
java不支持多继承,一个类只能有一个父类。

class A {
    public int m=5;
}
class B extends A{
   public int m=10;
    public  void show(){
        System.out.println("子类"+m);
        System.out.println("父类"+super.m);//通过super.属性 访问
    }
}
public class TestDemo{
    public static void main(String[] args) {
        A a = new B();
        System.out.println(a.m);
        B b = new B();
        System.out.println(b.m);
        System.out.println("=====子类当中如何访问,父类中的数据成员======");
        b.show();
    }

}

运行结果:
在这里插入图片描述

Fu f=new Zi();
打印f时会打印父类的f,取决于左边的时父类还是子类。
在子类中访问父类属性需要通过super来访问

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值