Java基础知识每日总结(20)---Java常用类

常用类

1.Object类
①概述
Object类是类层次结构的根类,所有类都直接或间接继承自该类。

②构造方法
public Object()
所以在面对对象中介绍时说所有类都默认继承了父类的无参构造方法

③常用方法
public int hashCode():
返回当前对象的哈希码值。根据不同的对象返回不同的整数,哈希码值是根据哈希算法计算出来的一个值,这个值和地址值有关,但不是地址值。地址相同的两个对象的哈希码值相同。

public final Class getClass():
通过对象调用此方法,返回此对象的所属类。

public String toString():
返回调用者的完整类名+’@’+该对象的无符号十六进制哈希码值,一般建议子类直接重写,在Eclipse中可以右键–>source–>Generate toString()直接生成toString方法
直接输出一个对象的名称默认调用了该对象的toString方法

public boolean equals(Object obj)
==:

  • 基本数据类型:比较值是否相等
  • 引用数据类型:比较地址值是否相等

equals的底层源码是用"=="实现的,一般建议子类直接重写该方法,常与instanceof关键字联用,在Eclipse中可以右键–>source–>Generate hashCode() and equals()直接生成

protected void finalize() throws Throwable
当该对象不再使用时,由该对象的垃圾回收器调用此方法以回收该对象。

2.Scanner类
①概述
JDK1.5之后出现的用于接收用户输入的类。

②构造方法
public Scanner(InputStream source)
System类中:public static final InputStream in
例:
    Scanner sc = new Scanner(System.in);
     int i = sc.nextInt();

③常用方法
public boolean hasNextXxx():
判断是否还有下一个输入项,可以用它来判断输入的值是否正确,例:
    public boolean hasNextByte()
    public boolean hasNextFloat()

public xxx nextXxx():
获取下一个输入项,例:
    public byte nextByte()

		Scanner sc=new Scanner(System.in);
		if(sc.hasNextInt()) {
			int a=sc.nextInt();
		}else {
			System.out.println("你输入的数据有误!");
		}

④可能出现的问题:
当先获取一个数值,再获取一个字符串时,会出现将回车符当做字符串的问题,例:

		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		String b = sc.nextLine();
		System.out.println("a:" + a + ",b:" + b);

解决方案:
先获取一个数值后,再创建一个新的键盘录入对象获取字符串,例

		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		Scanner sc1 = new Scanner(System.in);
		String b = sc1.nextLine();
		System.out.println("a:" + a + ",b:" + b);

或把所有数据都先按照字符串获取,然后按照需求转换

3.String类
①概述
由多个字符组成的一串数据;定义的一个字符串值可以将它看成一个字符串对象。字符串是常量,赋值后不能修改。

具体介绍请看专题文章:Java基础知识每日总结(4)—Java字符串

你可能感兴趣的:(CoreJava)