@学习过Java Object类中的方法后收获
因为java中所有的类都是由Object类派生而来的,因此Object类中的方法,在其它类中都可以使用,常用的方法,如下表:
方法 | 用途 |
---|---|
Object clone( ) | 创建与该对象的类相同的新对象 |
boolean equals(Object) | 比较两个对象是否相等 |
void finalize( ) | 当垃圾回收器确定并不存在对该对象的更多引用时,对象的垃圾回收器调用该方法 |
Class getClass( ) | 返回一个对象运行时的实例类 |
int hashCode( ) | 返回该对象运行时的散列码值(哈希码值) |
void notify( ) | 激活等待在该对象的监视器上的一个线程 |
void notifyAll( ) | 激活等待在该对象的监视器上的全部线程 |
String toString( ) | 返回该对象的字符串表示 |
void wait( ) | 在其他线程调用此对象的notify( )方法或者notifyAll( )前,导致当前线程等待 |
标题其中,equals( )方法和getClass()方法zaijava程序中比较常用.
equals() 方法
equals() 方法的作用与运算符类似,用于值与值的比较和值与对象的比较,而 equals() 方法用于对象与对象之间的比较,其使用格式如下:
boolean result=obj.equals(Object o);
其中,Obj 表示要进行比较的一个对象,o 表示另一个对象。
实例1:
//boolean equals(Object) 比较两个对象是否相等
String str = "xueyun";
String std = "xueyun";
System.out.println(str.equals(std));
结果:ture;
实例2;
编写一个 Java 程序,实现用户登录的验证功能。要求,用户从键盘输入登录用户名和密码,当用户输入的用户名等于 admin 并且密码也等于 admin 时,则表示该用户为合法用户,提示登录成功,否则提示用户名或者密码错误信息。
在这里使用 equals() 方法将用户输入的字符串与保存 admin 的字符串对象进行比较,具体的代码如下:
import java.util.Scanner;
public class Test01
{
//验证用户名和密码
public static boolean validateLogin(String uname,String upwd)
{
boolean con=false;
if(uname.equals("admin")&&upwd.equals("admin"))
{ //比较两个 String 对象
con=true;
}
else
{
con=false;
}
return con;
}
public static void main(String[] args)
{
Scanner input=new Scanner(System.in);
System.out.println("------欢迎使用大数据管理平台------");
System.out.println("用户名:");
String username=input.next(); //获取用户输入的用户名
System.out.printin("密码:");
String pwd=input.next(); //获取用户输入的密码
boolean con=validateLogin(username,pwd);
if(con)
{
System.out.println("登录成功!");
}
else
{
System.out.println("用户名或密码有误!");
}
}
}
结果:
------欢迎使用大数据管理平台------
用户名:
adinm
密码:
admin
用户名或密码有误!
------欢迎使用大数据管理平台------
用户名:
admin
密码:
admin
登录成功!
getClass() 方法
getClass() 方法返回对象所属的类,是一个 Class 对象。通过 Class 对象可以获取该类的各种信息,包括类名、父类以及它所实现接口的名字等。
实例演示:
//getClass()方法 返回对象所属得类,是一个Class对象.通过Class对可
//以获``取该类的各种信息,包括类名,父类以及它所实现接口的名字等.
System.out.println(animal.getClass());
//运行结果 : Class 学习Project.initAnimals
System.out.println(animal.getClass().getName());
//运行结果 : 学习Project.initAnimals
//返回该对象所属类的父类名
System.out.println(animal.getClass().getSuperclass());
// 运行结果 : class java.lang.Object
System.out.println(animal.getClass().getSuperclass().getName());
// 运行结果 : java.lang.Object
//返回该对象所属类所实现的接口,
//通过animal.getClass().getInterfaces().length 得到所有接口数,
//再通过animal.getClass().getInterfaces()[i].getName() 得到所有的接口
//注意在getInterfaces() 后面有一个 [ ]
for(int i=0;i<animal.getClass().getInterfaces().length;i++) {
System.out.println(animal.getClass().getInterfaces()[i].getName());
toString( )方法
当打印的对象没有重写toString()时,toString()方法默认返回该对象实现类的"类名+hashCode(哈希码)"值 若要实现自我描述时需要对toString()函数进行重写.
System.out.println(animal);
完