面向对象编程
类与对象
定义类
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相关内容。