Java修饰符的区别

72 阅读2分钟

访问修饰符

public是包内外的任何类均可以访问

protected是包内或者包外的继承了该类的子类才能访问

无修饰符也就是default,只有当前包内的类才能访问

private则是除了当前类,其他类都不能访问

类修饰符

abstract 抽象类:

1.无法直接创建对象,只能被子类继承后,创建子类对象。

2.抽象类中可以有非抽象类的方法

3.可以有属性

4.可以有构造函数

5.可以没有抽象方法

6.但是有抽象方法的类一定是抽象类

抽象类一般用于作为一个父类描述一个类的基本特征与功能,具体实现是通过子类重写方法去完善。从抽象类继承的子类必须实现父类的所有抽象方法,否则,它仍然是抽象类。

static 静态类

1.被该类的所有对象共享

2.静态方法中不允许直接适用非静态的属性和方法

3.非静态的方法中可以使用静态的方法和属性

4.不允许使用super和this

5.可以被继承,但是没有多态(子类中有和父类相同的方法,通过父类调用方法时,执行的是父类的方法)

6.静态类必须是内部类

final 最终类

只允许一次赋值,一旦被赋值不允许改变,可以多次使用

方法允许被继承,但不允许重写

final修饰的类不允许继承,没有子类

不能再用最终类派生子类。在Java语言中,如果不希望某类被继承,可以声明这个类为最终类。最终类用关键字final来说明。