目录
1.内部类
1.1形参和返回值
1. 类名作为形参和返回值
方法的形参是类名,需要该类的对象
方法的返回值为类名,则返回该类的对象
2.抽象类名作为形参和返回值
方法的形参是抽象类名,需要该类的子类对象
方法的返回值是抽象类名,需要返回是该类的子类对象
3.接口名作为形参和返回值
方法的形参是接口,需要是接口实现类对象
方法的返回值是接口,需要返回的是接口的实现类对象
1.2 内部类
内部类: 在一个类中定义的类 例如A类中定义了一个类B,B叫内部类
内部类的定义格式:
public class 类名{
修饰符 class 类名{
}
}
内部类访问特点:
内部类可以直接访问外部类的成员,包括私有
外部类要访问内部类的成员,必须创建对象
1.3 成员内部类
按照内部类在类中定义的位置不同,可以分为如下来两种形式
在类的成员位置: 成员内部类
在类的局部位置: 局部内部类
成员内部类,外界如何创建对象使用那
格式: 外部类名.内部类名 对象名 = new外部类对象.new内部类对象;
实例: Animal.Cat ac = new Animal().new Cat();
1.4 局部内部类
局部内部类就是在方法体中定义,外界无法直接使用,需要在方法中创建对象并使用
该类可以直接访问外部类的成员,也可以访问房内的局部变量
1.5 匿名内部类
前提: 存在一个类或者接口,这里的类可以是具体的类也可以是抽象类
格式:
new 类名或接口名(){
重写方法;
}
本质: 是一个继承了该类或者实现了该类接口的子类匿名对象
2. Math
1.Math类概述
Math包含执行基本数字运算方法
方法名 说明 abs(int a) 返回参数的绝对值 ceil(double a) 返回向上取整数double类型 floor(double a) 返回向下取整数double类型 max(int a,int b) 返回int值中最大值 min(int a,int b) 返回int值中最小值 pow(double a,double b) 返回a的b次幂的值 random() 返回为double的正值 [0.0,1.0)
3. System
1.System的概述
System包含几个有用的类字段和方法,它不能被实例化
2.System类常用的方法
方法名 | 说明 |
exit(int status) | 终止当前虚拟机 |
currentTimeMillis() | 返回当前时间(以毫秒为单位) |
4. Object
1.Object类的概述(Ctrl+B 查看底层代码)
类Object是类层次结构的根,每个类都有object作为超类,所有类都直接或间接继承该类
2.Object类的常用方法
toString: 建议所有子类重写该方法(可自动生成)
equals: 默认比较对象地址值是否相同 可重写比较内容是否相同 (可自动生成)
5. Arrays
1.Arrays的概念和常用方法
Arrays类包含用于操作数组的各种方法
方法名 说明 toString() 返回指定数组内容字符串表示形式 sort(int[]a) 数字升序排序指定的数组 工具类的设计思想
构造方法用private修饰
成员用public static修饰
6.基本类型包装类
1.概述
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据
常用的操作之一: 用于基本类型与字符串之间的转换
其中Integer中方法 valueOf(数字)
基本数据类型 包装类 byte Byte short Short int Integer
long Long float Float double Double char Character boolean Boolean
2. int 和 String的相互转换
1.int转换成String
1.直接拼接空格字符串
2.public static String valueOf(int i): 返回int参数的字符串表示形式,是Sting类中方法
2.String转换成int
1.public static int parseInt(String s): 将字符串解析为int类型,是Integer类中方法
2. 或者用这个Integer i = Integer.valueOf(字符串); int x = i.intValue();
3.自动拆装箱
装箱: 把基本数据类型转换为对应的包装类类型
拆箱: 把包装类类型转换为对应的基本数据类型
实例: Integer i = 100; // 自动装箱
i += 200; // 自动拆箱
注意: 只要是对象,在使用前就必须进行不为null的判断
7.日期类
1.Data类的概述和构造方法
Data代表一个特定的时间,精确到毫秒
方法名 说明 Data() 分配一个Data对象,初始化,并表示它被分配的时间 Data(long data) 分配一个Data对象,初始化表示标准时间起指定的毫秒数
2. Data类的常用方法
方法名 说明 getTime() 获取的是日期对象从1970年1月1日00:00:00到现在的毫秒值 setTime() 设置时间给的是毫秒值
3. SimpleDateFormat类概述
概述: 是一个具体的类,用于以区域设置敏感的方式格式化和解析日期
常用的模式字母及其对应关系
SimpleDataFormat的构造方法
y 年 M 月 d 日 H 时 m 分 s 秒 SimpleDateFormat格式化和解析日期
方法名 说明 SimpleDataFormat() 使用默认模式和日期格式 SimpleDataFormat(String pattern) 使用给定的模式和默认日期格式
格式化(Date->String) format(Date date) 将日期格式化日期/时间字符串 解析(String->Date) parse(String source) 将指定字符串开始解析文本
生成日期
4. Calender类的概述
Calender为某一时刻和一组日历之间转换提供了方法,并为操作日历提供了方法
Calender提供了类方法getInstance用于获取Calender对象,使用当前日期和时间初始化
Calender c = Calender.getInstance();
Calender的常用方法
方法名 说明 public int get(int field) 返回给定日历字段的值 public abstract void add(int field,int amout) 根据日历规则,给指定的时间量添加或减去给定的日历字段
public final void set(int year,int month,int date) 设置当前日历的年月日
8.异常
1.异常概述
异常: 就是程序出现了不正常的情况
异常体系
Error: 严重问题,不需要处理
Exception: 称为异常类,它表示程序本身可以处理的问题
RuntimeException: 在编译期是不检查的,出现问题后,需要我们来回修改代码
非RuntimeException: 在编译期必须处理,否则程序不能通过编译,更不能正常运行
2.JVM的默认处理方案
如果程序出现了问题,我们没有做任何的处理,最终JVM会做默认的处理
1.把异常的名称,异常的原因及异常出现的位置等信息输出在了控制台
2.程序停止执行
3.异常处理
1. try...catch...
格式:
try{
可能出现的异常代码;
} catch (异常类名 变量名){
异常的处理代码;
}
执行流程:
程序从try开始执行,
当出现异常时,自动生成一个异常类对象,该异常交给Java运行时系统
当Java运行时系统接收到异常对象,会去找catch中匹配的异常类,找到进行对应异常处理
执行结束后(匹配到了异常类),代码会继续执行
2. Throwable的成员方法
方法名 说明 public String getMessage() 返回此throwable的详细消息字符串 pubilc String toString() 返回此可抛出的简短描述 public void printStackTrace() 把异常的错误信息输出在控制台
2. 异常处理之throws (抛出异常)
目的: 处理处理不了的异常
格式: throws 异常名;
注意: 这个格式是跟在方法的小括号后面的
异常类型 处理方案 编译时异常必须处理 try..catch或throws,用throws方法,将来谁调用谁处理
运行时异常可以不处理 出现问题,回来修改代码
4.编译时异常和运行时异常的区别
Java中的异常分为: 编译时异常和运行时异常,也称为受检异常和非受检异常
所有的RuntimeException类及其子类被称为运行时异常,其他的异常都是编译时异常
1.编译时异常: 必须显示处理,否则程序就会发生错误,无法通过编译
2.运行时异常: 无需显示处理,也可以和编译时异常一样处理
5.自定义异常
标签:内部,05,int,异常,处理,API,方法,String From: https://blog.csdn.net/m0_59900155/article/details/139725445格式:
public class 异常类名 extends Exception{
无参构造
有参构造
}
throws和throw的区别
throws throw 用在方法声明后面,跟异常类名 用在方法体内,跟异常对象名 表示抛出异常,该方法调用者处理 抛出异常,方法体内的语句处理 出现异常的一种可能,不一定出现问题 执行了一定抛出了异常