Java 继承

Java 继承

1. 继承的概念
继承是Java面向对象编程技术的核心特性之一,它允许创建分等级层次的类。通过继承,子类可以继承父类的属性和方法,从而减少代码重复,提高代码复用性。

2. 继承的语法
在Java中,通过extends关键字实现类的继承。基本格式如下

class 父类 {}
class 子类 extends 父类 {}

这种方式使得子类自动拥有父类的非私有属性和方法。

3. 继承的特性
子类拥有父类非 private 的属性、方法:子类可以访问父类中定义的非私有成员。
子类可以拥有自己的属性和方法:子类可以扩展父类,增加新的属性和方法。
子类可以用自己的方式实现父类的方法:子类可以重写父类的方法,实现多态。
Java 的继承是单继承:一个子类只能有一个直接父类,但支持多重继承,即一个类可以继承多个接口。
4. 构造方法
子类对象在实例化时,首先调用父类的构造方法,然后调用自己的构造方法。如果父类没有无参构造,子类需要显式调用父类的有参构造方法,使用super关键字。

5. super 关键字
super关键字用于访问父类的成员,包括构造方法和成员变量。例如:

public class SubClass extends SuperClass {
    public SubClass(int n) {
        super(300);  // 调用父类中带有参数的构造器
        System.out.println("SubClass(int n):" + n);
    }
}

6. this 关键字
this关键字用于引用当前对象,常用于访问当前类的成员变量或调用当前类的方法。例如:

public class Dog extends Animal {
    void bark() {
        System.out.println(this.name + "汪汪汪~~~");
    }
}

在这个例子中,this.name访问了当前对象的name属性。

7. 继承的示例
以下是一个简单的继承示例,展示了如何通过继承复用代码:

public class Animal {
    String name;
    int age;

    public void eat() {
        System.out.println(name + "正在吃饭");
    }

    public void sleep() {
        System.out.println(name + "正在睡觉");
    }
}

public class Dog extends Animal {
    void bark() {
        System.out.println(name + "汪汪汪~~~");
    }
}

public class Cat extends Animal {
    void mew() {
        System.out.println(name + "喵喵喵~~~");
    }
}

public class TestExtend {
    public static void main(String[] args) {
        Dog dog = new Dog();
        System.out.println(dog.name);
        System.out.println(dog.age);
        dog.eat();
        dog.sleep();
        dog.bark();
    }
}
  • 20
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值