前言
java中有许多用于修饰类,方法和变量的修饰符号,比如static,final,public,private,default,protected,abstract这里简单小结一下。
一、方法的修饰
方法的修饰符号有public,private,default,protected,final,static,abstract。
public:public修饰的方法在任意位置都可见。
protected:protected修饰的方法只可以被同属于一个包的类或该类的子类使用。
default:default修饰的方法仅在同一包内可见。
private:private修饰的方法仅自己可见。
final:final修饰的方法不可以被继承。
static:static修饰的方法称为静态方法,不仅可以通过对象调用,也可以直接通过类名调用。静态方法中可以直接调用该类中的静态成员,但不能直接调用非静态成员。静态方法中可以直接调用静态方法,但不能调用非静态方法。
abstract:abstract修饰的方法是抽象方法,没有具体实现,其具体实现子类必须实现该方法。
二、类的修饰
类的修饰符号主要有abstract,final。
abstract:abstract修饰的类是抽象类,其中至少包含一个抽象方法,抽象类不能直接定义对象,其具体实现子类必须实现抽象类中的抽象方法。
final:final修饰的类不可以被继承,但是可以继承其他类。
三、变量的修饰
变量的修饰符主要有final,static,private,public,这里只解释final和static。
final:final修饰的变量为常量,这种变量只能赋值一次,且final修饰的成员变量只能在定义时或类的构造函数内赋值。
static:static修饰的成员变量属于类,不属于某个对象,当其中一个对象改变该static变量时,其余的对象对应的static变量也会改变,即多个对象共享同一个static成员变量。此外,被static修饰的成员,可以通过类名直接访问。