【Java 基础】java 创建对象时重写方法

TransactionLock mockLock = new TransactionLock() {
    public boolean lock(String id) {
      return true;
    }
  
    public void unlock() {}
  };
transaction.setTransactionLock(mockLock);

That's an anonymous class. From Java in a Nutshell

An anonymous class is a local class without a name. An anonymous class is defined and instantiated in a single succinct expression using the new operator. While a local class definition is a statement in a block of Java code, an anonymous class definition is an expression, which means that it can be included as part of a larger expression, such as a method call. When a local class is used only once, consider using anonymous class syntax, which places the definition and use of the class in exactly the same place.

It's a common means of providing a specialisation of a base class without explicitly defining a new class via the class expression.

posted @ 2021-03-30 10:43  satire  阅读(1053)  评论(0)    收藏  举报