Object类
API:(Application Programming Interface)应用程序编程接口。
Java API:主要包括类的继承结构、成员变量和成员方法、构造方法、静态成员的详细说明和描述信息。
Object类:所有类的父类,Java类层中的最高层类,自定义类也都继承于object类(定义类时省略了extends Object)。
常见方法:
getClass( )方法:返回对象执行时的class实例。
public final Class getClass()//不能重写
getClass().getName();//获取类名
toString( )方法:返回一个对象的字符串形式。
//源代码
public String toString(){
return getClass().getName()+"@"+Integer.toHexString(hashCode());
}
实际应用中经常重写toString方法:
package com.boke.cn;
public class test {
public static void main(String[] args) {
System.out.println( new test().getClass().getName());
System.out.println(new test());
}
public String toString(){
//重写toString方法
return "在"+getClass().getName()+"类中重写toString方法";
}
}
结果:
com.boke.cn.test
在com.boke.cn.test类中重写toString方法
hashCode( )方法:返回该对象的哈希码值(即对象的逻辑地址值)。
public int hashCode()
equals( )方法:默认比较两个对象的引用地址是否相同,常重写用来比较成员变量的值是否相等。
//源代码
public boolean equals(Object obj) {
return (this == obj);
}
==和equals( )的区别:
==:
1.比较基本数据类型时比较的是指;
2.比较对象时比较的是两个对象的地址值。
equals:
1.默认比较地址值;
2.重写后比较两个对象的内容
Clone( )方法:创建并返回此对象的一个副本,该方法是浅克隆;对象调用该方法,其所属的类必须实现Cloneable接口。
Scanner类
Scanner类:获取用户键盘输入的数据。
//创建Scanner对象基本语法
Scanner s = new Scanner(System.in);
常用方法:
hasNextXxx( ) : 判断下一个是否是某种类型的元素,其中Xxx可以是Int,Double等。
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 从键盘接收数据
int i = 0;
float f = 0.0f;
System.out.print("输入整数:");
if (sc.hasNextInt()) {
// 判断输入的是否是整数
i = sc.nextInt();
// 接收整数
System.out.println("整数数据:" + i);
} else {
// 输入错误的信息
System.out.println("输入的不是整数!");
}
System.out.print("输入小数:");
if (sc.hasNextFloat()) {
// 判断输入的是否是小数
f = sc.nextFloat();
// 接收小数
System.out.println("小数数据:" + f);
} else {
// 输入错误的信息
System.out.println("输入的不是小数!");
}
sc.close();
}
}
nextInt( ):获取一个int类型的值。
next( ) 与 nextLine( ) 区别:
next( ):获取一个String类型的值
1.对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
2.next() 不能得到带有空格的字符串。
nextLine( ):获取一个String类型的值
1、nextLine()方法返回的是输入回车之前的所有字符。
2、可以获得空白。