1. Object类
java.lang.Object类是所有引用类型的父类。定义在Object类中的方法,在所有的类中都会被继承到
1.1 构造方法
new Object(); 构建一个普通的Object对象
1.2 API方法
- equals(Object o)
返回值:boolean
比较当前对象与参数对象o,是否“相等”
Object类equals方法的源码
可以看出,在Object类中equals方法的功能与==是一样的
有些类在继承Object类后,会对equals方法进行重写,比如java.lang.String
x instanceof A 判断对象x是否是类A的对象
instanceof的作用判断x是否为A的一个实例
String类的equals方法比较的是String的内容是否一致。
可以通过重写equals方法,达到判断自己的类是否“相等”的逻辑
- toString()
返回值:String
显示当打印该类的对象时,输出的字符串内容。
学生类
public class Student {
public int sno;
public String sname;
@Override
public String toString() {
return sno+"\t"+sname;
}
}
测试类
public class Test2 {
public static void main(String[] args) {
Student s1 = new Student();
s1.sno = 101;
s1.sname = "杨超越";
System.out.println(s1);//默认调用了toString
}
}
运行结果
其他API方法参照API文档
2. Math类
Math类提供了基本的数学操作。如基本指数、对数、平方根和三角函数。
它将构造方法私有,不能创建Math类的实例对象,Math类本身还被final修饰,不能被继承。
2.1 静态常量
-
PI
类型是double
圆周率的近似值 -
E
类型是double
自然对数底数的近似值
2.2 静态方法
- abs(double | float | int | long a);
返回参数对应类型double | float | int | long
计算参数a的绝对值并返回 - cbrt(double a)
返回值:double
计算参数a的立方根并返回
double a = Math.cbrt(8); //结果是2
- sqrt(double a)
返回值:double
计算参数a的平方根并返回
double a = Math.cbrt(4); //结果是2
- ceil(double a)
返回值:double
返回比a大的最小整数(进一法) - floor(double a)
返回值:double
返回比a小的最大整数(退一法) - round(double a)
返回值:double
对a进行四舍五入 - pow(double a, double b)
返回值:double
计算a的b次方
double a = Math.pow(2,3); //结果是8
- random()
返回值:double
返回[0,1)区间的随机浮点数
3. System类
System也是一个私有构造方法并且是final的类,它提供了一些静态属性和方法完成一些常规功能
3.1 静态属性
- in 标准输入流 主要指控制台输入
- out 标准输出流 主要指控制台输出
- err 标准错误输出流 一般用于显示异常信息
3.2 静态方法
- arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
返回值:void
数组拷贝方法,在src数组中的srcPos位置起,复制length个长度的元素至dest数组的destPos位置。
int[] a = {0,1,2,3,4,5,6,7,8,9};
int[] b = {0,0,0,0,0,0,0,0,0,0};
System.arraycopy(a, 3, b, 3, 5);
for(int i = 0; i < b.length; i++) {
System.out.print(b[i]+"\t");
}
System.out.println();
运行结果
运行结果
如果b的位置不足以放入拷贝内容,会抛出下标越界异常
- currentTimeMillis()
返回值:long
由时间原点(1970年1月1日0时0分0秒 GMT+0)(1970年1月1日8时0分0秒 GMT+8)至当前瞬间的所经历的毫秒数
一般使用这个方法可以计算一段程序的执行时间。
long l1 = System.currentTimeMillis();
int sum = 0;
for(int i = 0; i < 10000; i++) {
sum += i;
}
long l2 = System.currentTimeMillis();
System.out.println("程序耗时:"+(l2-l1)+"ms");
- exit(int status)
返回值:void
退出Java虚拟机(关闭当前的Java程序)
System.exit(0); 正常退出虚拟机
System.exit(-1); 异常退出虚拟机
- gc()
返回值:void
呼唤垃圾回收线程执行垃圾回收任务,执行后可能没有效果
- getProperties()
返回值:Properties
得到系统的当前各项属性的集合,根据key值得到具体Java安装信息和操作系统的基本信息
Properties p = System.getProperties();
String value = p.getProperty("key");
System.out.println(value);
key可以使用下图中的具体内容进行替代
key值的一览
4. Properties类(了解)
Properties类是一种“键-值对”存储结构。一个数据包含“Key-Value”两部分,不同数据间,Key不能重复。
myfile.properties配置文件
配置文件内容
读取配置文件(Test类必须与配置文件在同一个包下)
public class Test {
public static void main(String[] args) throws IOException {
Properties p = new Properties();
p.load(Test.class.getResourceAsStream("myfile.properties"));
String username = p.getProperty("username");
String password = p.getProperty("password");
String sex = p.getProperty("sex");
System.out.println(username);
System.out.println(password);
System.out.println(sex);
}
}
运行结果
运行结果
网友评论