使用类和对象

来源:互联网 发布:java内存模型面试回答 编辑:程序博客网 时间:2024/06/06 02:40

1.equals方法和==的区别

首先equals()并不等价与==,==是检查同一性,不是相等性。两个同样的变量(指向相同对象)可以证明它们是相等的,则反之不成立。

String s1 ="hello";String s2 ="hello";String s3 = new String("hell");if(s1==s2)  System.out.println("s1==s2");else  System.out.println("s1!=s2");if(s1.equals(s3))  System.out.println("s1 equals s3");else  System.out.println("s1 not equals s3");

2. hashcode()

散列码一般是根据对象的内容生成的,对于包含不同数据的类的实例,其散列码往往是不同的,对于通过equals()方法比较为“相等”的实例,其散列码一般则是相同的。

3 .复制对象clone()

clone()是Object类(Object类差不多是所有类的父类)的一个方法,但是这种功能在默认情况下是关闭的。如果一个类需要使用clone()方法,那么需要实现Cloneable接口。

4 反射

Java 反射API(Java Reflection API)

方法:getField()将返回一个Field对象数组,它表示一个类的全部公共变量,包括继承得到的公共变量;

getDeclaredField()将返回一个Field对象数组,它表示一个类的全部变量,不论是公共的还是其他修饰符修饰的变量,但是不包括继承得到的变量;

getMethod(),getConstructors(),功能与上面方法类似,并且都有相似的第二个方法。

0 0