Implementar uma aula final sem a palavra-chave “final”

Um amigo meu fez essa pergunta em sua entrevista de emprego por telefone alguns dias depois. Eu não tenho a menor ideia. Alguém pode sugerir uma solução? (Sua entrevista de emprego acabou. Apenas por curiosidade agora) 10x.

  • Marcar construtor como privado
  • Forneça um método estático na class para criar uma instância de uma class. Isso permitirá que você instancie objects dessa class

Eu não sei o que eles significam exatamente como uma aula final . Se eles significam uma class que não pode ser estendida por inheritance, então, claramente, isso não pode ser feito, exceto marcando essa class com final (ou lacrada, ou qualquer que seja a palavra-chave da linguagem).

Mas se a média final for imutável, tal que uma class derivada não pode modificar o valor dos campos na class, então a class base deve ter todos os campos e methods de access privados.

Crie um construtor privado sem parâmetros?

 public class Base { private Base() { } } public class Derived : Base { //Cannot access private constructor here error } 

Faça todos os construtores dessa class como privados para parar de herdar, embora não seja recomendado.

 public class Immutable { private int val; public Immutable(int v) { this.val = v; } public int getVal() { return this.val; } } 

Classes estáticas não podem ser herdadas de