使用 transient 标记实例变量表示在序列化包含该变量的对象时,JVM 应跳过该实际变量。此修饰符包含在创建变量的语句中,位于变量的类或数据类型之前。例如 public class Employee implements java.io.Serializable { public String name; public String address; public transient int SSN; public int number; public void mailCheck() { System.out.println("Mailing a check to " + name + " ... 阅读更多
在本文中,我们将学习如何在 Java 中使用 final 修饰符。final 修饰符可以与方法、类和变量关联。一旦我们将其声明为 final - final 类不能被实例化。final 方法不能被重写。final 变量不能重新赋值。这些限制使代码更具可预测性,并且可以防止意外修改。使用 final 修饰符的步骤以下是使用 final 修饰符的步骤 -首先,我们将定义一个类 TestExample 并声明一个 final 变量 value ... 阅读更多
abstract 关键字用于声明抽象方法和抽象类。一旦方法被声明为抽象的,我们就不能为它们指定主体。例如 public abstract class Sample{ public abstract demo(){ } } 错误 Sample.java:2: error: invalid method declaration; return type required public abstract demo(){ ^ 1 error 并且一旦类被声明为抽象的,它就不能被实例化。例如 public abstract class Sample{ public abstract void demo(); public static void main(String args[]){ new Sample(); } } 错误 C:\Sample>javac Sample.java Sample.java:4: error: Sample is abstract; cannot be instantiated new Sample(); ^ 1 error
synchronized 关键字用于指示方法一次只能被一个线程访问。synchronized 修饰符可以与任何四个访问级别修饰符一起使用。例如 实时演示 public class TestThread { public static Object Lock1 = new Object(); public static Object Lock2 = new Object(); public static void main(String args[]) { ThreadDemo1 T1 = new ThreadDemo1(); ThreadDemo2 T2 = new ThreadDemo2(); ... 阅读更多