如何封装java
封装Java类的基本方法
封装是面向对象编程的三大特性之一,通过隐藏对象的属性和实现细节,仅对外公开接口来控制访问级别。
使用private修饰符隐藏类的内部属性:
private String name;
private int age;
提供公共的getter和setter方法访问私有属性:
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
实现封装的最佳实践
将类属性设为私有,防止外部直接访问:
public class Person {
private String name;
private int age;
}
在setter方法中添加验证逻辑保证数据有效性:
public void setAge(int age) {
if(age > 0 && age < 150) {
this.age = age;
} else {
throw new IllegalArgumentException("Invalid age");
}
}
封装在继承中的应用
使用protected修饰符允许子类访问父类属性:
protected String department;
通过方法覆盖实现多态性:
@Override
public void displayInfo() {
System.out.println("Employee: " + getName());
}
高级封装技巧
使用包(package)进行更大范围的封装控制:
package com.example.model;
结合接口进一步抽象实现细节:
public interface Drawable {
void draw();
}
封装与设计模式
单例模式中的封装应用:
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if(instance == null) {
instance = new Singleton();
}
return instance;
}
}
工厂模式隐藏对象创建细节:

public class ShapeFactory {
public Shape getShape(String shapeType) {
if(shapeType.equalsIgnoreCase("CIRCLE")) {
return new Circle();
}
return null;
}
}






