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 {
}
广告
将在 10 秒后关闭
bannerAds