Java的封装
封装
・防止字段接收非法值
・创建“无矛盾类”
・与“忠实模仿现实世界”的面向对象本质直接相关
对于字段和方法进行访问限制
访问修饰符( )
名称 指定方法 アクセスを許可する範囲private private自分自身のクラスのみpackage private (何も書かない) 自分と同じパッケージに属するクラスprotectedprotected自分と同じパッケージに属するか、自分を継承した子のクラスpublicpublic全てのクラス
关于成员的访问修饰符的惯例
・所有的字段都是私有的。
・所有的方法都是公开的。
获取器和设置器
通过方法操作字段
取得者
・「获取」+「将字段名首字母大写」
・仅调用name字段内容并返回原内容的方法
public class Hero {
private String name;
public String getName() { //getName()を経由してnameフィールドにアクセス
return this.name;
}
}
public class King {
void talk(Hero h) {
System.out.println("王様:ようこそ我が国へ、勇者" + h.getName() + "よ。");
}
}
安排者
・在其他类中,将字段名的首字母大写作为”set”后缀,并赋予值(只需赋予值)
public class Hero {
private String name;
public void setName(String name) {
this.name = name; //this.は絶対に忘れないように
}
}
对于类的访问控制
名称 指定方法 アクセスを許可する範囲package private (何も書かない) 自分と同じパッケージに属するクラスpublicpublic 全てのクラス
非public(包私有)类的特征
・类名可以与源文件名不同
・一个源文件可以声明多个类
public class Hero {
}
class HeroSkill {
}
class HeroSinbol {
}
class Character {
}
class Boss {
}