Java 四大特性

Java 是一种面向对象的编程语言,具有四大特性:封装、继承、多态和抽象。这些特性使得 Java 成为一种强大而灵活的语言,被广泛应用于各种领域的软件开发中。

1. 封装

封装是面向对象编程的基本原则之一。它指的是将数据和操作这些数据的方法组合成一个整体,即类。通过封装,我们可以隐藏数据的具体实现细节,只对外提供公共的方法访问数据。这样做的好处是可以保护数据的安全性,提高代码的可维护性和可重用性。

以下是一个简单的示例代码,演示了封装的概念:

public class Person {
    private String name;
    private int age;
    
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    public String getName() {
        return name;
    }
    
    public int getAge() {
        return age;
    }
    
    public void sayHello() {
        System.out.println("Hello, my name is " + name);
    }
}

在这个示例中,Person 类封装了一个人的姓名和年龄。通过 getName()getAge() 方法,我们可以获取到私有属性 nameage 的值。同时,sayHello() 方法允许对象打印自己的名字。

2. 继承

继承是面向对象编程中实现代码重用的一种机制。它允许一个类继承另一个类的属性和方法,并且可以在此基础上进行扩展或修改。通过继承,我们可以建立一种类的层次结构,使得代码的组织更加清晰和灵活。

以下是一个简单的示例代码,演示了继承的概念:

public class Student extends Person {
    private String school;
    
    public Student(String name, int age, String school) {
        super(name, age);
        this.school = school;
    }
    
    public String getSchool() {
        return school;
    }
    
    public void study() {
        System.out.println("I am studying at " + school);
    }
}

在这个示例中,Student 类继承了 Person 类的属性和方法,并新增了一个 school 属性和一个 study() 方法。通过 super(name, age) 调用父类的构造方法,我们可以初始化继承的属性。

3. 多态

多态是面向对象编程中一个非常重要的特性。它允许不同的对象对同一消息作出不同的响应。通过多态,我们可以实现代码的灵活性和可扩展性。

以下是一个简单的示例代码,演示了多态的概念:

public class Animal {
    public void makeSound() {
        System.out.println("The animal makes a sound");
    }
}

public class Cat extends Animal {
    public void makeSound() {
        System.out.println("The cat meows");
    }
}

public class Dog extends Animal {
    public void makeSound() {
        System.out.println("The dog barks");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal animal1 = new Cat();
        Animal animal2 = new Dog();
        
        animal1.makeSound();
        animal2.makeSound();
    }
}

在这个示例中,Animal 类定义了一个 makeSound() 方法。CatDog 类继承了 Animal 类,并分别重写了 makeSound() 方法。在 Main 类中,我们创建了一个 Cat 对象和一个 Dog 对象,并调用它们的 makeSound() 方法。由于多态的特性,调用方法时会根据对象的实际类型选择对应的方法实现。

4. 抽象

抽象是面向对象编程中对现实世界的事物进行建模的一种机制。它允许我们定义一种通用的类或接口,然后根据具体需求进行扩展。通过抽象,我们可以隐藏实现细节,使得代码更加模块