如何面向对象写java
面向对象编程基础
面向对象编程(OOP)是一种以对象为核心的编程范式,Java 是完全面向对象的语言。核心概念包括封装、继承、多态和抽象。
-
类(Class):对象的模板,定义属性和方法。例如:
public class Person { private String name; // 属性(封装) public void setName(String name) { // 方法 this.name = name; } } -
对象(Object):类的实例。通过
new关键字创建:Person person = new Person();
封装与访问控制
封装通过访问修饰符控制属性和方法的可见性:
private:仅类内部可访问。protected:类内、同包及子类可访问。public:全局可访问。- 默认(无修饰符):同包内可访问。
示例:
public class BankAccount {
private double balance; // 私有属性
public void deposit(double amount) { // 公有方法
if (amount > 0) balance += amount;
}
}
继承与多态
继承通过 extends 实现子类对父类的扩展:
public class Animal {
public void sound() {
System.out.println("Animal makes sound");
}
}
public class Dog extends Animal {
@Override
public void sound() { // 方法重写(多态)
System.out.println("Dog barks");
}
}
多态允许父类引用指向子类对象:
Animal myDog = new Dog();
myDog.sound(); // 输出 "Dog barks"
抽象类与接口
-
抽象类(
abstract class):public abstract class Shape { public abstract double area(); // 抽象方法 } -
接口(
interface,Java 8+):public interface Drawable { void draw(); // 默认 public abstract default void print() { // 默认方法 System.out.println("Printing..."); } }
构造方法与初始化
构造方法用于对象初始化,名称与类相同:
public class Car {
private String model;
public Car(String model) { // 构造方法
this.model = model;
}
}
静态成员与实例成员
- 静态成员(
static):属于类而非实例。 - 实例成员:属于具体对象。
示例:
public class Counter {
static int count = 0; // 类变量
public Counter() {
count++;
}
}
常用设计模式示例
单例模式(确保唯一实例):

public class Singleton {
private static Singleton instance;
private Singleton() {} // 私有构造
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
最佳实践
- 优先使用组合而非继承。
- 遵循 SOLID 原则(单一职责、开闭原则等)。
- 使用
final避免不必要的继承或修改。 - 重写
equals()和hashCode()时保持一致性。






