何?封印されたクラスは継承できます-YeQingjie(JDK15の新機能)

2020-9-15
、JDK15とJDK15の合計14の新機能をリリースしました。その中で、著者にとって最も印象的なのは、封印されたクラスを継承できることです。

封印されたクラスは、最初から継承できないことをさまざまな方法で学びました。封印されたクラスの新しいバージョンを継承する場合は、許可を得て継承されたクラスを指定する必要があります。
同時に、継承されたクラスは、final、sealed、またはnonsealedを使用する必要があります。レタッチ

通常のコードのアイデア


public class Person {
    
     }

class Teacher extends Person {
    
     }    //教师

class Student extends Person {
    
     }   //学生

class MiddleSchoolStudent extends Student {
    
     }   //中学生

class GraduateStudent extends Student {
    
     }   //研究生

class Worker extends Person{
    
     }    //工人

class RailWayWorker extends Worker{
    
     }  //铁路工人

 

封印をPersonに追加すると、エラーが報告されます

public sealed class Person  {
    
     }

class Teacher extends Person {
    
     }     //教师

class Student extends Person {
    
     }   //学生

class MiddleSchoolStudent extends Student {
    
     }   //中学生

class GraduateStudent extends Student {
    
     }   //研究生

class Worker extends Person{
    
     }    //工人

class RailWayWorker extends Worker{
    
     }  //铁路工人


このとき、封印されたクラスを継承したい場合は、許可を得て継承されたクラスを指定する必要があります。継承されたクラスが最終、封印、非封印でない場合、エラーが報告されます。


public sealed class Person permits Teacher,Student,Worker{
    
     }

final class Teacher extends Person {
    
     }     //教师

sealed class Student extends Person permits MiddleSchoolStudent,GraduateStudent{
    
     }   //学生

final class MiddleSchoolStudent extends Student {
    
     }   //中学生

final class GraduateStudent extends Student {
    
     }   //研究生

non-sealed class Worker extends Person{
    
     }    //工人

class RailWayWorker extends Worker{
    
     }  //铁路工人
 

ご覧のとおり、封印されたクラスを継承するクラス(封印されたクラスの
場合)も指定する必要があります。
封印されていないクラスの場合は、通常どおり使用でき、通常どおり継承できます。

残念ながら、封印されたクラスは継承でき、コードを学んだので3つの見方を覆すことができます
ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_46285416/article/details/109251279