封装是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能地隐藏对象的内部实现细节。
封装是一种信息隐藏技术。
例子:
新建一个Apple类
/**
* Apple类没有进行封装,它的内部信息和具体实现会对外界暴露
*/
public class Apple {
//单价
int price = 5;
//产地
String origin = "广东";
}
新建一个Banana类
/**
* Banana类进行了封装,它的属性price、origin不供外界访问
* 只提供一个detail()方法允许外界访问
* detail()方法对"System.out.println()"的封装,具体实现隐藏在内部,对外界不可见
*/
public class Banana {
//单价
private int price = 10;
//产地
private String origin = "广西";
public void detail(){
System.out.println("香蕉单价:¥"+price+"\t"+"产地:"+origin);
}
}
public class Store {
public static void main(String[] args) {
Apple apple = new Apple();
System.out.println("苹果单价:¥"+apple.price+"\t"+"产地:"+apple.origin);
//detail()封装具体的内部实现,外界不可见。
Banana banana = new Banana();
banana.detail();
}
}
/**
* 输出结果:
* 苹果单价:¥5 产地:广东
* 香蕉单价:¥10 产地:广西
*/