文章目录
- Java API 介绍
- 常用的package
- Object类概述及作用
- 常用的方法
- `toString()`方法:
- 重写toString方法
- `equals(Object obj)`方法:
- 引用类型和基本数据类型
- =与equals的区别
- 重写equals方法
- try-catch的用法
Java API 介绍
Java API(Application Programming Interface)是一组预先定义好的类和接口,帮助开发者快速开 发应用程序。 这些类和接口提供了各种功能,如文件操作、网络通信、图形用户界面等。Java API是Java平台的核心组成部 分之一,它帮助开发者快速高效地开发出高质量的应用程序。
常用的package
-
java.lang:
包含了一些基础类,如Object、String、System
等。 -
java.util:
提供了许多实用工具类,如集合框架(List、Set、Map)、日期/时间处理等。 -
javafx:
用于创建富客户端应用程序的图形用户界面(GUI)。 -
java.io:
提供了一系列处理输入输出的类,支持文件读写等操作。 -
java.net:
用于实现网络应用,支持TCP/IP协议等。
Object类概述及作用
Object
类是所有其他类的直接或间接父类。在Java中,任何类如果没有显式地继承其他类,那么它将默认继承Object
类。
Object
类提供了一些基本的功能,如对象的比较、字符串表示形式的获取等,这些功能对于所有对象都是通用 的。
常用的方法
toString()
方法:
toString方法用于返回对象的字符串表示形式。这对于调试和日志记录非常有用,因为它可以帮助我们快速查 看对象的状态。
默认情况下,Object
类的toString
方法返回一个字符串,格式为:
ClassName@hashCode
Person@1b6d3586
重写toString方法
为了使对象的字符串表示形式更具可读性和意义,我们通常会重写toString方法。重写时,可以根据对象的属性来构造一个有意义的字符串。
public class Person {private String name;private int age;
@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' + ", age=" + age + '}';}}
public static void main(String[] args) {Person person1 = new Person("Alice", 30);Person person2 = new Person("Bob", 25);//打印对象
System.out.println(person1);
System.out.println(person2);
//输出: Person{name='Alice', age=30}
//输出: Person{name='Bob', age=25}//使用System.out.println时,会自动调用对象的toString方法
System.out.println("Person1: " + person1);System.out.println("Person2: " + person2);}
equals(Object obj)
方法:
判断两个对象是否相等,默认情况下比较的是对象的引用(即是否是同一个对象)
默认情况下,equals方法的行为类似于,即比较对象的引用。为了根据对象的内容进行比较,我们需要重写equals方法。
引用类型和基本数据类型
基本数据类型:Java中有8种基本数据类型,分别是byte、short、int、long、float、double、 char和boolean。这些类型的变量直接存储数值。
引用类型:引用类型包括类、接口、数组等。引用类型的变量存储的是对象的引用(即内存地址),而不是 对象本身。
=与equals的区别
=
:用于比较两个变量的值是否相同。如果两边都是基本数据类型,则比较它们的值;如果是引用类型, 则比较它们的地址(即是否指向同一个对象)。
equals()
:是一个方法,通常用于比较两个对象的内容是否相同。 默认情况下,equals()
的行为类似于,但很多类(如String、List等)都重写了这个方法,使其能够根据对象的实际内容进行比较。
//基本数据类型
int a = 10;
int b = 10;System.out.println("a = b: " + (a = b)); //输出: true//引用类型
Person person1 = new Person("Alice", 30);
Person person2 = new Person("Alice", 30);
Person person3 = person1;
System.out.println("person1 = person2: " + (person1 = person2)); //输出:false
System.out.println("person1 = person3: " + (person1 = person3)); //输出:true//改变引用类型
person3.setName("Bob");
System.out.println("person1: " + person1); //输出: Person{name='Bob', age=30}
System.out.println("person3: " + person3); //输出: Person{name='Bob', age=30}//基本数据类型不会改变
int c = a;
c = 20;
System.out.println("a: " + a); //输出: 10
System.out.println("c: " + c); //输出: 20
重写equals方法
在重写equals方法时,可能会遇到类型不匹配的情况。使用try-catch可以捕获并处理这些异常。
public class Person {
private String name;
private int age;
//重写equals方法
@Override
public boolean equals(Object obj) {
Person person = (Person) obj;
return age = person.age && name.equals(person.name); //比较姓名和年龄
}
}
public static void main(String[] args) {
Person person1 = new Person("Alice", 30);
Person person2 = new Person("Alice", 30);
Person person3 = new Person("Bob", 25);
String str = "Alice";
//比较对象
System.out.println("person1 equals person2: " + person1.equals(person2));
//输出: true
System.out.println("person1 equals person3: " + person1.equals(person3));
//输出: false
System.out.println("person1 equals str: " + person1.equals(str)); //输出:
类型转换错误: ...
}
try-catch的用法
try-catch 语句用于捕获和处理程序运行过程中可能出现的异常。通过使用 try-catch ,我们可以避免程序因为异常而崩溃,并能够优雅地处理这些异常。
try {
//可能会抛出异常的代码
} catch (Exception e) {
//处理异常的代码
}java
public class Employee {
private int id;
private String name;
@Override
public boolean equals(Object obj) {
try {
Employee e = (Employee) obj;
return age = e.age && name.equals(e.name); //比较姓名和年龄
} catch (ClassCastException e) {
System.out.println("出现错误: " + e.getMessage());
return false;
}
}
}