本文内容是封装的梳理和总结,本文内容包括:
封装是用来设置类的成员在什么地方可以被访问。
实现封装需要使用访问修饰符,访问修饰符共四个
对于属性的读写设置,一个典型的做法是
把这种公有方法封装私有属性称为getter和setter
需求:
分析:
代码:
public class Movie {
private String name; //属性私有化
private double price; //属性私有化
// 构造函数初始化属性值
public Movie(String name,double price){
this.name = name;
this.price = price;
}
// 公有get方法,读取电影名称
public String getName() {
return name;
}
// 公有get方法,读取电影价格
public double getPrice() {
return price;
}
// 公有set方法,修改电影价格
public void setPrice(double price) {
this.price = price;
}
}
解析:
需求:
分析:
代码:
public class Factory {
// 构造函数私有化,类外就无法调用了,因此就实现了类外不能创建该类的对象
private Factory(){
}
// 公有静态方法,返回Factory对象
public static Factory createInstance(){
return new Factory();//此处在Factory的类内,能够调用private的构造函数
}
}
public class Test {
public static void main(String[] args) {
// 调用公有静态方法,获取Factory对象
Factory factory = Factory.createInstance();
}
}
解析:
类似于本例这种对象不是new出来的,而是类名调用公有静态方法获得的,这种使用场景很多,希望以后你遇到这种情况时,能够想起这个例子。
powered by kaifamiao