JavaApi高级编程
JavaApi
-
什么是
JavaApi?
-
JavaApi
-
是一组预先定义好的类和接口,帮助开发者快速开发程序
-
JavaApi 就是学会如何使用别人编写的类和接口
-
Api
-
应用程序的接口
-
函数与类的集合
-
-
实际就是别人写好的类
-
-
Java 中常用的包
-
Java.lang : 基础语言包
-
java.util : 集合框架,帮助类
-
java.io : 文件操作的包
-
javafx
: 用于创建富客服端应用程序的图形用户界面 -
java.net : 对网络聊天和爬虫使用
-
包的导入:
-
import java.util.Random;---比如Scanner和Random的导入,写完这两个单词之后直接按住快捷键alt+/即可
-
lang包下的类无需导入
-
-
Object对象类
-
Object : 对象类
-
所有类的父类
-
其他的类都直接或者间接的继承了Object类
-
一个类没有明确继承谁的时候默认继承Object
-
-
Object 两大方法
-
toString() 方法
-
打印一个对象的时候固定调用toString() 方法
-
作用:将对象作为字符串输出
-
语法:
public String toString(){ return "","";}
-
如果编写类的时候,不想按照Object父类的格式输出,需要找到父类的toString() 方法,复制父类的方法,在自己编写的类中修改父类方法中的内容,切记:方法结构必须与父类相同
-
假如需要打印一个stu对象
-
测试类先调用system.out.println(stu.equals());
-
这里面的equals()是从Object父类中继承下来的
-
按住ctrl键,点击equals()方法跳转到父类object,复制父类toString()方法到stu类中,保持父类结构不变,改变内容
-
-
-
-
equals() 方法---使用方法和toString()方法一致
-
对象比较时调用
-
自定义比较规则
-
当希望对象的某个属性相同的时候使用
-
默认的equal()也是比较地址的
-
一般情况下的语法:
public boolean equal(Object obj){ //这里可以传入任何类型,因为Object是所有类的父类 Student ss = (Student) obj; //强转将Object转为Student return age = ss.age; }
-
强转不能扭曲类,有继承关系的类才可以强转,实在想强转且只输出false,保持就算代码出错也不会报错,且不影响后续代码的输出,可以使用try-catch方法
-
try{ //可能报错的代码 }catch(Exception e){ return false ;}
最后面的大括号里面放的是报错后如何处理的方法,也可以放syso语句,也可以不放
-
-
-
try-catch方法实例
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; } } }
-
equal()方法实例
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)); // 输出:类型转换错误: ... }
数据类型
-
基本数据类型
-
八大基本数据类型
-
byte
-
short
-
int
-
long
-
float
-
double
-
boolean
-
char
-
-
基本数据类型中的值都是独立的
-
使用==
-
-
引用数据类型
-
Class c1 = new Class();
Class c2 = c1;
Class c3 = c1;
-
上面的c1,c2,c3指的是同一个对象,只不过有多个名字
-
基本使用equal();也可以使用==,但是在引用数据类型中
==比较的是对象地址,看是不是对应的同一个对象,每个对象都有自己的地址,且不重复
-
用上面的举例:c1==c2,返回的是true,因为是同一个对象,地址相同
-
继承
-
extends 继承
-
A extends B
-
A会获取B的属性和方法,但是extends使用时仅限公开的public 不能私有化
-
public class Child extends Student{}
-