P: Qual é a classe de objeto?
Resposta: A classe de objeto é armazenada no pacote java.lang e é a classe pai final de todas as classes Java (exceto a classe de objeto). Obviamente, as matrizes também herdam a classe de objeto. No entanto, a interface não herda a classe de objeto e a classe de objeto não serve como a classe pai da interface.
Em seguida, analisamos o objeto através de exemplos
classe pública ObjectStU {/*Object Class: A classe pai de todas as classes em Java, classe de nível superior*é igual: determine se dois objetos são "iguais"; * HASHCODE: Retorna o valor do código de hash de um objeto, que é um número inteiro* porque os contêineres subsequentes, como hashset e hashmap, desduplicarão os elementos; Portanto, é igual e hashcode precisa ser reescrito ao mesmo tempo; * Os critérios a serem atendidos após a reescrita: * Quando o resultado de iguais é verdadeiro, os valores de código de hash dos dois objetos devem ser iguais; * Quando o resultado de iguais é falso, os valores de código de hash dos dois objetos devem ser desiguais; (Os códigos de hash podem ser iguais, mas, se não forem iguais, pode melhorar a eficiência) *ToString: Retorna a representação da string da função do objeto *: É conveniente visualizar as propriedades do objeto no programa e depurar o código *Debug Learning: *1. Defina pontos de interrupção onde pode haver bugs *2.Run como depuração *3.f6, execute o código atual; F5, digite o método do código atual nesta frase; F8, pule rapidamente para o próximo ponto de interrupção, se não houver o próximo ponto de interrupção, execute todo o código restante *é igual: *1. Consistência: use o objeto A para chamar iguais e o objeto B Para comparar, o resultado de cada vez deve ser o mesmo*2. Reflexividade: o objeto A Chamadas iguais para comparar as chamadas do objeto B e do objeto B iguais para comparar o objeto A deve ser o mesmo*/public static void main (string [] args) {pessoa per = pessoa ("xiao wang", 10.150); pessoa per1 = nova pessoa ("xiao wang", 20,140); pessoa per2 = por; system.out.println (per == per1); system.out.println (per.equals (per1)); string str = "123"; str.equals ("123"); str.hashcode (); system.out.println (por.hashcode ()); system.out.println (per1.hashcode ()); system.ou t.println (per2.hashcode ()); system.out.println (per2.hashcode ()); system.out.println (PER); system.out.println (per1);}} classe Pessoa {nome da string; int age; int altura; pessoa pública (nome da string, idade int, int alting) {super (); this.Height = altura; this.name = nome; this.age = Age;}/*@substituir public boolean é igual a (object obj) {if (this == obj) {retornar verdadeiro; } if (obj instância de pessoa) {pessoa per = (pessoa) obj; if (this.name.equals (por.name) && this.age == por.age) {return true; }} retornar false; }*/// reescreva hashcode/*@substituir public int hashCode () {return name.hashcode ()+idade*31+altura*31; } */@Substituir public int hashCode () {final int prime = 31; int resultado = 1; resultado = prime * resultado + idade; resultado = prime * resultado + altura; resultado = prime * resultado * (name == null)? (getClass ()! = obj.getclass ()) retorna false; pessoa outra = (pessoa) obj; if (idade! = outros.age) retorna false; if (altura! "Pessoa [nome ="+nome+", idade ="+idade+"]";}}Resumir
O exposto acima é todo o conteúdo deste artigo sobre a análise de instâncias de classe de objeto em Java, espero que seja útil para todos. Amigos interessados podem continuar se referindo a este site:
Explicação detalhada do código de classe de teste interno Java
Análise de código de teste de herança em java
Exemplo de uso de código da pilha (pilha) em java
Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!