Object,Math

复习

内部类

作用 : 补全外部类功能

概念 : 在类中定义的类,称为内部类,对应的外边的类称为外部类

分类

1.成员内部类

定义位置 : 类中,方法外

语法 :

访问权限修饰符 class 类名{}

组成 : 除静态成员外都可定义

创建对象 :

情况1 : 在外部类中创建该内部类对象

内部类类名 对象名 = new 内部类类名(实参列表);

注意 : 不能在静态方法或静态代码块中使用,因为前面需要使用this进行调用

情况2 : 在其他类中,不是外部类

外部类类名.内部类类名 对象名 = 外部类对象.new 内部类类名(实参列表);
​
数据类型就是外部类中的内部类,起个名
后边是,用外部类调的 "内部类创建对象"

2.静态成员内部类

定义位置 : 类中,方法外

语法 :

访问权限修饰符 static class 类名{}

组成 : 都可以

创建对象 :

外部类类名.内部类类名 对象名 = new 外部类类名.内部类类名(实参列表);

3.局部内部类

定义位置 : 类中,方法中

语法 :

class 类名{}

组成 : 除静态成员外都可以

创建对象 :

内部类类名 对象名 = new 内部类类名(实参列表);

使用范围 :

当前方法中,而且必须在类定义后创建对象

4.匿名内部类

定义位置 : 值或实参的位置

语法 :

父类名或接口名 对象名 = new 父类名或接口名(){};

注意 :

1.一个类只创建一个对象时可以使用匿名内部类

2.不能定义静态成员,抽象方法,因为没有构造函数,又因为没有类名所以没有构造函数

3.一个匿名内部类也会生成一个class文件,但使用后系统会删

匿名对象

就是没有对象名的对象

包装类

8个基本数据类型对应的引用数据类型就是包装类

byte        Byte
short       Short
int         Integer
​
float       Float
double      Double
​
boolean     Boolean
char        Character

提供的方法

static final xxx MAX_VALUE:     最大值
static final xxx MIN_VALUE:     最小值
static xxx parseXXX(字符串);
    作用:将字符串转换为对应的数据类型

自动装箱

概念 : 将基本数据类型转换为对应的引用数据类型的对象

自动拆箱

概念 : 将引用数据类型的对象转换为对应的基本数据类型

字符缓冲区

区间 : -128~127

暂时不能用言语表达,举个例子

//都知道基本数据类型==,就是判断值是否相同
//引用数据类型就是判断内存地址
//Integer是int的包装类
​
Integer i1 = 129;
//引用数据类型后面应该是new...这样的对象,而这里就是包装类的作用,自动装箱
//这个位置129和 newInteger(129) 的作用是一样的
Integer i2 = 129;
i1 == i2;   //此时结果是false,不在区间就会创建对象,就会开辟新的内存空间
​
Integer i3 = 127;
Integer i4 = 127;
i3 == i4;   //结果是true,在区间,这个些数在数组中,用的内存地址一样

System

概念 : 就是系统

提供的方法 :

1,复制数组一段内容
    static void arrayCopy(老数组,复制数据的开始位置,新数组,黏贴数据的开始位置,长度)
2,获取当前系统时间,单位毫秒
    static long currentTimeMillis()
3,结束当前程序
    static void exit(终止状态码)
4,手动调用GC
    static void gc();

方法不止这些,主要是学会用api文档自学

使用javaAPI文档

这个是java1.8的中文API,里面包含了该版本的所以类及使用方法

双击打开

可以看到中间栏,有所有的包和类

随便点开一个类,在右边栏会有该类的所有信息,直接子类,所有方法,构造函数等

 

也可在左边索引里直接搜索

这个方法是可以点开,可以看到它的参数意义和使用介绍

 

今日

Object

概念 : 所有类的父类

该类提供的属性与方法,是所有类的对象都可以使用的

提供的方法

public Boolean equals(Object obj)

作用 : 判断调用该方法的对象与传入的对象的内层地址是否相同

实参列表是Object,意思是可以写任何数据类型(包括对象)

如果子类重写该方法,使用子类对象调用该方法,执行的是重写后的方法

如果子类要比较子类的对象属性值是否相同,需重写equals方法

重写步骤 :

1.判断俩地址是否相同(相同就是同一个,没必要比较,直接返回true)

2.因为形参是Object,所以传进来的是啥就不一定了,判断传进来的是不是和调用该方法对象得类相同

3.将传入的对象转换为该类对象

4.使用调用该方法的对象的属性值与传入的对象属性进行比较

public String toString()

作用 : 获取对象的包名.类名拼接@字符串,再拼接对象的内层地址的十六进制

注意 : object提供的toString方法返回的是对象的包名.类@对象的内存地址的十六进制,可以理解为是对象的信息

但我们观察对象时,想看到的是对象的属性值,所以我们可以在子类中重写toString方法,重写后对象在调用 toString方法,执行的是重写后的方法

public int hashCode()

作用 : 获取对象的哈希码值,近似可以理解为对象的内存地址

finalize()

作用 : 系统回收该类对的内存时,才会调用

getClass() 反射时讲 notify() 线程间通讯讲 notifyAll() 线程间通讯讲 wait() 线程间通讯讲 wait(int m) 线程间通讯讲 wait(int m,int n) 线程间通讯讲

Math

作用 : 数学运算与随机数

提供的方法

static double random()

获取0~1的随机数

static int abs(int a) 作用:获取其指定数据的绝对值

static double floor(double a) 作用:向下取整

static int max(int a, int b) 作用:获取两数之间的最大值

static int min(int a, int b) 作用:获取两数之间的最小值

static double pow(double a, double b) 作用:计算a的b次幂的结果

字符串相关类

不可变字符串 : String

提供的方法

public String replace(String old,String newStr) 作用:替换 1参:要被替换的字符串 2参:替换后的字符串

public int length() 作用:获取字符串长度 char charAt(int index) 作用:获取字符串中指定位置的字符 public char[] toCharArray() 作用:将字符串转换为字符数组 public boolean equals(Object anObject) 作用:比较字符串内容是否相同 public boolean equalsIgnoreCase(String anotherString) 作用:忽略大小写比较字符串内容是否相同 public String trim() 作用:忽略前后空白 boolean endsWith(String suffix) 作用:判断字符串是否以指定的字符串结束 boolean startsWith(String prefix) 作用:判断字符串以什么开始 public String toUpperCase() 作用:将字符串中的小写字母转换为大写字母 public String toLowerCase() 作用:将字符串中的大写字母转换为大写字母 boolean contains(String s) 作用:判断s是否在调用该方法的字符串中存在 public int lastIndexOf(String str) 作用:获取指定的子字符串在字符串中最后一次出现的位置 public int indexOf(String str) 作用:获取指定的子字符串在字符串中第一次出现的位置 public String substring(int beginIndex) 作用:截取指定位置的字符串,从开始位置到字符串末尾 1参:开始位置 public String substring(int beginIndex, int endIndex) 作用:截取指定位置的字符串 1参:开始位置 2参:结束位置 public String[] split(String regex) 作用:切割 1参:按什么字符串切割

构造函数

public String(char value[]) 将传入的字符数组转换为字符串 public String(char value[], int offset, int count)

可变字符串

StringBuffer

特点 :

JDK1.0出现

线程是安全的

StringBuilder

特点 :

JDK1.5出现

线程不安全

提供的方法

1,StringBuilder append(Object obj) 作用:给字符串尾部拼接字符串 2,StringBuilder insert(int offset, String str) 作用:插入 1参:插入开始的位置 2参:插入的数据 3,StringBuilder delete(int start, int end) 作用:删除指定区间的数据 1参:开始位置,包含 2参:结束位置,不包含 4,StringBuilder deleteCharAt(int index) 作用:删除指定位置的字符 1参:指定的位置 5,StringBuilder replace(int start, int end, String str) 作用:替换 1参:要替换的数据的开始位置,包含 2参:要替换的数据的结束位置,不包含 3参:替换后的字符串 6,toString(): 作用:将可变字符串转换为不可变字符串

精准时间

对应的类 : BigDecimal

构造函数

BigDecimal(Object obj);
//虽然实参是Object,什么都可以传,
//但只有穿字符串是精准的, 传进去的可以是123+"",可以加个空字符串拼接下

提供的方法

BigDecimal subtract(BigDecimal subtrahend) 作用:减法,使用调用该方法的对象的值减去传入的对象的值,返回计算的结果 BigDecimal add(BigDecimal augend) 作用:加法 BigDecimal multiply(BigDecimal multiplicand) 作用:乘法 BigDecimal divide(BigDecimal divisor) 作用:除法 XXX xxxValue(); 作用:获取BigDecimal的值

时间相关类

Date

概念 : 日期 (包括年月日,时分秒)

创建 :

public Date();      //获取当前系统时间
public Date(long date):
//获取距离1970年1月1日 00:00:00的时间(格林威治时间),参数单位毫秒

提供的方法

public long getTime():

获取当前对象距离1970年1月1日 00:00:00的时间差,单位毫秒

public boolean after(Date when):

当前时间是否在指定时间之后 public boolean before(Date when):

当时时间是否在指定时间之前

Calendar

概念 : 日历

创建 :

static Calendar getInstance()

方法

get set add getTime

SimpleDateFormat

概念 : 时间日期格式化

特殊字符

y : 年 M : 月 d : 日 h : 十二小时值 H : 二十四小时值 m : 分钟 s : 秒 S : 毫秒

编写 : 2023/04/13 17:16:00 yyyy/MM/dd HH:mm:ss

方法

format: 将时间对象转换为指定格式的字符串 parse: 将指定格式的字符串转换为时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值