전체 페이지뷰

2013년 8월 29일 목요일

Item 4: Enforce noninstantiability with a private constructor

Attempting to enforce noninstantiability by making a class abstract does
not work.

A default constructor is generated only if a class contains no explicit constructors,
so a class can be made noninstantiable by including a private constructor:

// Noninstantiable utility class
public class UtilityClass {
   // Suppress default constructor for noninstantiability
    private UtilityClass() {
       throw new AssertionError();
    }
     ... // Remainder omitted
}

댓글 없음:

댓글 쓰기