Java 修饰符
-
修饰符
到目前为止,您已经非常熟悉public了,几乎所有示例中出现的关键字:public关键字是一个访问修饰符,这意味着它是用于设置类,属性,方法和构造的访问级别。我们将修饰符分为两组:- 访问修饰符 - 控制访问级别
- 非访问修饰符 - 不控制访问级别,但提供其他功能
-
访问修饰符
对于类,可以使用public或默认:修饰符 描述 尝试 public 类可以被任何其他类访问 尝试一下 默认 类只能由同一包中的类访问。 当您不指定修饰符时使用。 您将在“软件包”一章中了解有关软件包的更多信息。 尝试一下 对于属性,方法和构造函数,可以使用以下之一:修饰符 描述 尝试 public 代码可用于所有类 尝试一下 private 代码只能在声明的类中访问 尝试一下 默认 代码只能在同一程序包中访问。 当您不指定修饰符时使用。 您将在“软件包”一章中了解有关软件包的更多信息。 尝试一下 protected 代码可在相同的包和子类中访问。 您将在继承一章中了解有关子类和超类的更多信息。 尝试一下 -
非访问修饰符
对于类,您可以使用final或abstract:修饰符 描述 尝试 final 类不能被其他类继承(您将在“继承”一章中了解有关继承的更多信息) 尝试一下 abstract 类不能用于创建对象(要访问抽象类,它必须从另一个类继承。您将在“继承和抽象”一章中了解有关继承和抽象的更多信息) 尝试一下 对于属性和方法,可以使用以下之一:修饰符 描述 final 属性和方法不能被重载/修改 static 属性和方法属于类,而不是对象(要方法这样的方法在类里直接访问,不需要实例化,从对象方法) abstract 只能在抽象类中使用,并且只能在方法上使用。 该方法没有主体(没有具体的实现代码块,只是一个的方法定义),例如 abstract void run();
。 主体(具体实现代码)由子类提供(从继承)。 您将在“继承和抽象”一章中了解有关继承和抽象的更多信息。transient 序列化包含属性和方法的对象时,将跳过这些属性和方法 synchronized 一次只能由一个线程访问方法 volatile 属性的值不在线程本地缓存,并且始终从“主内存”中读取 -
-
-