Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

5.5. 密封类

Java 17 之前,如果限制一个类可以被其他类继承,只能使用 final 关键字限制被集成。Java 17 提供了密封类,可以控制谁可以集成。

		
package cn.netkiller.test;


public class Test {
    public static void main(String[] args) {

    }

    public abstract sealed class Furit permits Apple, Pear {
    }

    public non-sealed class Apple extends Furit {
    }

    public final class Pear extends Furit {

    }

    private final class Vegetables extends Furit {
    }
}

		
		
例如上面例子中,Furit 可以被 Apple, Pear 继承,但是不能被 Vegetables 继承。