6.Java 修饰符
发布人:shili8
发布时间:2024-12-22 19:13
阅读次数:0
**Java 修饰符**
Java 是一种面向对象的编程语言,提供了许多修饰符用于控制类、方法和变量的访问权限。这些修饰符对于确保程序的安全性和可维护性至关重要。
###1. public 修饰符public 修饰符是最宽松的访问权限修饰符之一,它允许任何地方的代码访问该类、方法或变量。
javapublic class PublicExample { public static void main(String[] args) { // 可以在任何地方使用 PublicExample 类 PublicExample example = new PublicExample(); } }
###2. private 修饰符private 修饰符是最严格的访问权限修饰符之一,它只允许同一个类内部的代码访问该变量或方法。
javapublic class PrivateExample { private int privateVar; public void setPrivateVar(int value) { this.privateVar = value; } public int getPrivateVar() { return this.privateVar; } }
###3. protected 修饰符protected 修饰符允许同一个包内的类访问该变量或方法,外部类需要使用继承关系来访问。
javapublic class ProtectedExample { protected int protectedVar; public void setProtectedVar(int value) { this.protectedVar = value; } public int getProtectedVar() { return this.protectedVar; } } class SubClass extends ProtectedExample { public static void main(String[] args) { // 可以在子类中访问 protectedVar ProtectedExample example = new ProtectedExample(); example.setProtectedVar(10); System.out.println(example.getProtectedVar()); } }
###4. default (无修饰符)
default 修饰符是最宽松的访问权限修饰符之一,它允许同一个包内的类访问该变量或方法。
javapublic class DefaultExample { int defaultVar; public void setDefaultVar(int value) { this.defaultVar = value; } public int getDefaultVar() { return this.defaultVar; } } class SamePackageClass { public static void main(String[] args) { // 可以在同一个包内的类中访问 defaultVar DefaultExample example = new DefaultExample(); example.setDefaultVar(10); System.out.println(example.getDefaultVar()); } }
###5. final 修饰符final 修饰符用于修饰方法或变量,表示它们不能被重写或修改。
javapublic class FinalExample { public static void main(String[] args) { // final 方法不能被重写 System.out.println(FinalExample.finalMethod()); } public static final int FINAL_VAR =10; public static final String FINAL_METHOD() { return "Final method"; } }
###6. static 修饰符static 修饰符用于修饰方法或变量,表示它们属于类,而不是实例。
javapublic class StaticExample { public static void main(String[] args) { // static 方法可以在不创建实例的情况下调用 System.out.println(StaticExample.staticMethod()); } public static int staticVar; public static String staticMethod() { return "Static method"; } }
###7. volatile 修饰符volatile 修饰符用于修饰变量,表示它们可能会被多个线程访问。
javapublic class VolatileExample { private volatile int volatileVar; public void setVolatileVar(int value) { this.volatileVar = value; } public int getVolatileVar() { return this.volatileVar; } }
###8. transient 修饰符transient 修饰符用于修饰变量,表示它们不应该被序列化。
javapublic class TransientExample implements Serializable { private transient int transientVar; public void setTransientVar(int value) { this.transientVar = value; } public int getTransientVar() { return this.transientVar; } }
###9. synchronized 修饰符synchronized 修饰符用于修饰方法或变量,表示它们需要被锁定以保证线程安全。
javapublic class SynchronizedExample { private int synchronizedVar; public void setSynchronizedVar(int value) { synchronized (this) { this.synchronizedVar = value; } } public int getSynchronizedVar() { synchronized (this) { return this.synchronizedVar; } } }
###10. native 修饰符native 修饰符用于修饰方法,表示它们是由本机代码实现的。
javapublic class NativeExample { public native void nativeMethod(); }
以上就是 Java 中常用的修饰符。这些修饰符对于确保程序的安全性和可维护性至关重要。