抽象类
接口
Comparable接口和Comparator比较器
转载自【对象的比较】java代码实现,详解对象的比较,Comparable接口和Comparator比较器_java 对象比较器_良辰针不戳的博客-CSDN博客
class Stu
{
private final String name;
private final int age;
public Stu(String name,int age)
{
this.name = name;
this.age = age;
}
@Override
public boolean equals(Object o)
{
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
//getClass() 是一个 Object 类的方法,它返回当前对象运行时的 Class 实例。
Stu stu = (Stu) o;
return age == stu.age && Objects.equals(name, stu.name);
}
//这是Stu类重写的equals方法。它用于比较两个Stu对象是否相等。
//首先,它检查当前对象(this)和传入的对象(o)是否是同一个对象的引用,如果是,则返回true。
//然后,它检查传入的对象是否为null或者它的类是否与当前对象的类不同,如果是,则返回false。
//接着,它将传入的对象强制转换为Stu类型,并比较两者的age是否相等,以及name是否相等
//(使用Objects.equals方法,这是为了避免null值导致的NullPointerException)
}
public class Main
{
public static void main(String[] args)
{
Stu stu1 = new Stu("张三",18);
Stu stu2 = new Stu("张三",18);
System.out.println(stu1.equals(stu2));
}
}
内部类
局部内部类
匿名内部类
异常处理
异常介绍
运行时异常
编译异常
异常处理机制
包装类
都是Number的子类,实现了Comparable 的子类