【Java】Java学习笔记之二----修饰符

修饰符

修饰符用来定义类、方法或者变量,通常放在语句的最前端。修饰符分为访问修饰符和非访问修饰符。

访问修饰符

私有的:private

使用private修饰的成员只能在当前类的内部被访问。private修饰符主要用于隐藏类的实现细节和保护类的数据,使用private修饰的成员变量只能通过类中的getter方法被外部类访问、外部类通过类中的setter方法设置成员变量的值。
注意:

  1. 类和接口不能声明为 private;
  2. 子类不能直接访问父类的私有变量private(即父类中由private修饰的属性和方法不能被继承);
  3. 封装类中的属性必须声明为private;

默认的:default

若变量和方法不使用任何修饰符,则认为是默认访问修饰符,只在同一个包内可见(即同一个包的不同类也可以访问,但不同包的类不可访问)。

受保护的:protected

使用protected修饰的变量和方法能被同一个包内的其他类访问,也能被其他包内的子类访问。
注意:

  1. 类和接口不能声明为protected;
  2. 接口的成员不能被声明为protected;
  3. 父类中声明为protected的方法,在子类中只能声明为protected或public;

公共的:public

使用public修饰的成员能被任何其他类访问。
注意:

  1. 若几个相互访问的public类分布在不同的包中,则需要导入相应public类所在的包;
  2. 父类中声明为 public 的方法在子类中也必须为 public;

访问范围表

【Java】Java学习笔记之二----修饰符_第1张图片

非访问修饰符

static

使用static修饰的成员,会成为类成员。类成员包括类变量、类方法和静态初始化块。类成员属于整个类。
类生成时类成员就生成,类卸载时类成员才卸载。
类成员可直接通过类访问,也可以通过类的对象访问。
注意:

  1. 声明为static的类方法也称为静态方法;
    静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员,需要创建类的对象,然后通过对象来访问非静态变量。
  2. 声明为static的初始化块也称为静态初始化块;
    静态初始化块只在类加载时执行且只执行一次;
    静态初始化块只能给静态变量赋值;
  3. 使用static修饰的变量可以被类中所有方法访问;

final

可以使用final修饰变量、方法和类。使用final修饰的变量需要指定初始值且会成为常量,该变量一旦被赋值就不可以修改,所以可认为是常量。当变量声明为static final 就成了类常量。
注意:

  1. final修饰的类不允许被继承
  2. final修饰的方法不允许被重写,但子类可以重新定义该方法;
  3. final修饰的成员变量要么就在定义时赋值,要么就在初始化块内赋值且必须在变量被访问前赋值 ;

abstract

使用abstract修饰的方法和类分别称为抽象方法和抽象类。
注意:

  1. 抽象类中可以不包含抽象方法;
  2. 含有抽象方法的类一定要被定义为抽象类;
  3. 抽象方法没有方法体;
  4. 抽象类不能被实例化;
  5. 父类为抽象类的子类必须实现父类所有的抽象方法,除非该子类也是抽象类;

你可能感兴趣的:(java,笔记)