estático
1. Em uma classe, os atributos modificados com estáticos são chamados de atributos estáticos. Ele é compartilhado por todos os objetos desta classe e é armazenado na área de armazenamento estático. Todos os objetos desta classe podem acessar a mesma variável. Pode ser usado como contador para contar o número total de objetos de vários tipos criados.
2. Em uma classe, o método modificado com static é um método estático. Propriedades e métodos não estáticos não podem ser acessados em métodos estáticos, mas métodos e propriedades estáticas podem ser acessados em métodos não estáticos e o polimorfismo do método estático é inválido; e não pode usar isso.
3. Como as propriedades e métodos estáticos pertencem a todos os objetos desta classe, eles podem ser acessados usando o nome da classe.propriedade estática/nome do método---.
4.static também pode modificar o bloco de código, que será executado uma vez e somente uma vez quando a classe for carregada.
final
(1) As classes marcadas como finais não podem ser herdadas
classe TT estende T{}//Erro, a classe final não pode ser herdada
função void final pública(){}
}
classe TT estende T{
public void function(){}//Erro, o método final não pode ser substituído por subclasses
}
como:
}
//ou
teste de classe{
int final x;
Teste(){
x=10;
}
(6) Também é possível definir um parâmetro formal como final, o que limita a faixa de valores do parâmetro formal que pode ser modificado no método.
Existem muitas classes em java que são tipos finais: String, Math, etc.