Skip to content

面向对象编程

类与对象

定义类

java
public class Person {
    // 属性
    private String name;
    private int age;
    
    // 构造方法
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    
    // 方法
    public void sayHello() {
        System.out.println("Hello, I'm " + name);
    }
    
    // Getter和Setter
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
}

创建对象

java
Person person = new Person("GlowXQ", 25);
person.sayHello();

三大特性

封装

通过private关键字隐藏内部实现细节,对外提供public方法访问。

java
public class BankAccount {
    private double balance;
    
    public void deposit(double amount) {
        if (amount > 0) {
            balance += amount;
        }
    }
    
    public double getBalance() {
        return balance;
    }
}

继承

java
public class Student extends Person {
    private String studentId;
    
    public Student(String name, int age, String studentId) {
        super(name, age);
        this.studentId = studentId;
    }
    
    @Override
    public void sayHello() {
        System.out.println("Hi, I'm student " + getName());
    }
}

多态

java
Person person = new Student("Tom", 20, "2024001");
person.sayHello();  // 调用Student的方法

接口与抽象类

接口

java
public interface Drawable {
    void draw();
}

public class Circle implements Drawable {
    @Override
    public void draw() {
        System.out.println("Drawing a circle");
    }
}

抽象类

java
public abstract class Shape {
    protected String color;
    
    public abstract double getArea();
    
    public void setColor(String color) {
        this.color = color;
    }
}

💡 提示

这是一个demo文档,欢迎补充更多OOP相关内容。

基于 VitePress 构建