Java基础-对象的特性:继承、封装、多态

Java 是一门面向对象的编程语言,其中对象的特性包括继承、封装和多态。下面对这三个特性进行详细介绍:

1、继承

继承是指一个类可以继承另一个类的属性和方法。被继承的类称为父类或基类,继承的类称为子类或派生类。子类可以使用父类的属性和方法,也可以对其进行修改或扩展。在 Java 中,使用关键字 extends 来实现继承。

试例:

public class Animal {
    public void eat() {
        System.out.println("Animal is eating");
    }
}

public class Dog extends Animal {
    public void bark() {
        System.out.println("Dog is barking");
    }
}

上面的代码中,Dog 继承了 Animal 类的 eat() 方法,并添加了 bark() 方法。

2、封装

封装是指将对象的属性和方法封装起来,只对外提供一些公共接口,隐藏内部实现细节,从而提高代码的安全性和可维护性。在 Java 中,使用访问修饰符来实现封装,包括 public、private、protected 和 default。其中,public 表示公共的,可以被任何类访问;private 表示私有的,只有本类中的方法可以访问;protected 表示受保护的,只有本类及其子类中的方法可以访问;default 表示默认的,只有同一个包中的类可以访问。

试例:

public class Person {
    private String name;
    private int age;

    public void setName(String name) {
        this.name = name;
    }

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

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

上面的代码中,Person 类的属性 name 和 age 被声明为 private,只能通过公共的 set 和 get 方法来访问。

3、多态

多态是指同一个方法可以根据不同的对象调用出现不同的行为。在 Java 中,多态有两种形式:静态多态和动态多态。静态多态是指方法重载,即在同一个类中定义多个同名但不同参数的方法;动态多态是指方法重写,即子类重写父类的方法。在 Java 中,使用关键字 @Override 来表明方法是被重写的。

试例:

public class Animal {
    public void makeSound() {
        System.out.println("Animal is making sound");
    }
}

public class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Dog is barking");
    }
}

上面的代码中,Dog 类重写了 Animal 类的 makeSound() 方法,在调用 makeSound() 方法时,如果使用 Animal 对象调用,输出结果为 “Animal is making sound”,如果使用 Dog 对象调用,输出结果为 “Dog is barking”。这就是多态的效果。

继承、封装和多态是面向对象编程的三大特性,它们可以提高代码的重用性、可维护性和可扩展性。掌握这些特性,对于 Java 开发人员来说是非常重要的。