内部类:就是在一个类中定义一个类。
内部类定义格式:
public class 类名{
修饰符 class 类名{
}
}
内部类访问特点
按照内部类在类中定义的位置不同,可以分为以下两种形式:
外部创建成员内部类对象的格式如下:
外部类名.内部类名 对象名 = 外部类对象.内部类对象
匿名内部类是局部内部类的一种
前提:存在一个类或者接口,这里的类可以是具体类,也可以是抽象类
格式:
new 类名或者接口名(){
重写方法;
};
本质:是一个继承了该类或者是实现了该接口的子类匿名对象
概述:Math类没有构造方法,查看帮助文档,可以直接调用静态的成员。
Math类的常用方法
方法名 | 说明 |
---|---|
public static intabs(int a) | 绝对值,返回结果为int类型 |
public static doubleceil(double a) | 向上取整,返回结果为double类型 |
public static doublefloor(double a) | 向下取整,返回结果为double类型 |
public static intround(float a) | 四舍五入,返回结果为int类型 |
public static intmax(int a,int b) | 返回两个int值中的最大值 |
public static intmin(int a,int b) | 返回两个int值中的最小值 |
public static doublepow(double a,double b) | 返回a的b次幂的值 |
public static doublerandom() | 返回值为double的正值,[ 0.0,1.0 ) |
概述:System包含几个有用的类字段和方法,它不能被实例化。
System类的常用方法
方法名 | 说明 |
---|---|
public static voidexit(int status) | 终止当前运行的Java虚拟机,非零表示异常终止 |
public static longcurrentTimeMillis() | 返回当前时间(以毫秒为单位) |
概述:Object是类层次结构的根,每个类都可以将Object作为超类。所有类都直接或者间接地继承自该类
构造方法:public Object()
子类构造方法默认访问父类的无参构造方法的原因:
查看方法的源码的方法:选中方法,按下Ctrl + B快捷键可以查看
Object的toString()建议重写,用于改变打印输出对象的格式(因为println方法使用时调用了toString方法来定义打印的内容格式),使用idea提供的 toString() 重写方法可以查看对象的属性。(注:String类已重写)
Object的 equals(Object obj) 方法用于比较对象是否相等。默认比较地址,重写可以比较内容,idea可自动生成。(注:String类已重写)
概述: Arrays类包含用于操作数组的各种方法
Arrays类常用的方法:
方法名 | 说明 |
---|---|
public static StringtoString(int[] a) | 返回指定数组的内容的字符串表示形式 |
public static voidsort(int[] a) | 按照数字顺序排列指定的数组 |
工具类的设计思想:
概述:将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。
常用的操作之一:用于基本数据类型与字符串之间的转换
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
概述:Integer类包装一个对象中的原始类型int的值。
Integer类常用的方法:
方法名 | 说明 |
---|---|
publicInteger(int value) | 根据int值创建Integer对象(过时) |
publicInteger(String s) | 根据String值创建Integer对象(过时) |
public static IntegervalueOf(int i) | 返回表示指定的int值的Integer实例 |
public static IntegervalueOf(String s) | 返回一个保存指定值的Integer对象String |
int转换为String
public static String valueOf(int i)
:返回int参数的字符串表示形式。该方法是String类中的方法。
String转换为int
public static int parseInt(String s)
:将字符串解析为int类型。该方法是Integer类中的方法。
public String[] split(String regex)
:将字符串对象按照regex分隔符进行分割,并返回字符串数组。装箱:把基本数据类型转换为对应的包装类类型
拆箱:把包装类类型转换为对应的基本数据类型
Integer i = 100; //自动装箱,实际上是Integer i = Integer.valueOf(100);
int i1 = i; //自动拆箱,实际上是int i1 = i.intValue();
注意:在使用包装类类型的时候,如果做操作,最好先判断是否为null。
概述:Date代表了一个特点的时间,精确到毫秒。
常用的构造方法:
方法名 | 说明 |
---|---|
publicDate() | 分配一个Date对象,并初始化为当前系统时间 |
publicDate(long date) | 分配一个Date对象,并将其初始化为给定距离标准基准时间的毫秒值(date参数)的时间 |
注意:Date的 toString() 方法也已重写。
常用成员方法:
方法名 | 说明 |
---|---|
public longgetTime() | 获取的是日期对象从标准基准时间到Date对象中时间的毫秒值 |
public voidsetTime(long time) | 设置时间,给的是毫秒值 |
概述:SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。
日期和时间格式由日期和时间模式字符串指定,在日期和时间模式字符串中,从 ‘A’ 到 ‘Z’ 以及从 ‘a’ 到 ‘z’ 引号的字母被解释为表示日期或时间字符串的组件的模式字母。
常用的模式字母及对应关系如下:
模式字母 | 含义 |
---|---|
y | 年 |
M | 月 |
d | 日 |
H | 时 |
m | 分 |
s | 秒 |
SimpleDateFormat的构造方法
方法名 | 说明 |
---|---|
publicSimpleDateFormat() | 构造一个SimpleDateFormat,使用默认模式和日期格式 |
publicSimpleDateFormat(String pattern) | 构造一个SimpleDateFormat,使用给定的模式和默认的日期格式 |
SimpleDateFormat格式化和解析日期
格式化(从Date到String)
public final String format(Date date)
:将日期格式化成日期/时间字符串。
解析(从String到Date)
public Date parse(String source)
:从给定字符串的开始解析文本以生成日期。
概述:Calendar类是一个抽象类,不能直接实例化,可以通过多态方式创建对象(由子类实现对象转化),用于获取日期中的信息(例如年、月、日、星期、周、时间等)。
Calendar类创建对象的方式
Calendar c = Calendar.getInstance();
其中public static Calendar getInstance()
方法是通过创建子类对象,并以Calendar类型返回子类对象。
Calendar的常用方法
方法名 | 说明 |
---|---|
public intget(int field) | 返回给定日历字段的值 |
public abstract voidadd(int field,int amount) | 根据日历的规则,将指定的时间量添加或减去给定的日历字段(注意:该方法可以直接使用,因为子类已进行实现) |
public final voidset(int year,int month,int date) | 设置当前日历的年月日 |
注意:Calendar.MONTH 成员变量的取值范围是 [0,11],其中0表示1月。