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.
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