java--常用类.基础

内部类

在一个类的内部再定义一个完整的类

内部类

  • 编译之后可生成独立的字节码文件
  • 内部类可直接访问外部类的私有成员,而不破坏封装
  • 为外部类提供必要的内部功能组件

成员内部类

  • 在类的内部定义,与实例变量、实例方法同级别的类
  • 创建内部类对象时,需要创建外部类对象
  • 当外部类、内部类属性重名时,优先访问内部类属性(访问外部类属性需要 外部类名.this.属性名)
  • 不能定义静态成员,但可以包含静态常量 final

匿名内部类

  • 没有类名的局部内部类
  • 必须继承一个父类或实现一个接口

Object类

getClass
返回引用中存储的实际对象类型
应用:判断两个引用中实际存储对象类型是否一致

hashCode
返回对象的哈希值

toString
返回该对象的字符串表示
可根据需要重写

equals
比较两个对象地址是否相同
可通过重写比较两个对象的内容是否相同

finalize
由JVM自动调用
在这里插入图片描述

包装类

基本数据类型 包装类型
byteByte
shortShort
intInteger
longLong
floarFloat
doubleDouble
booleanBoolean
charCharacter

Integer缓冲区
实际中缓冲区的数值用的比较频繁,进行复用可减少内存的损耗

Integer integer3 = 100;
Integer integer4 = 100;
System.out.println(integer3 == integer4);

Integer integer5 = 200;
Integer integer6 = 200;
System.out.println(integer5 == integer6);

// true
// false

在这里插入图片描述
Integer缓冲区内有-127—128,创建该区域内的对象地址都是引用该缓冲区,因此地址一样。如果范围之外就会重新new对象,地址便不一样。

String类

字符串常量池:JDK1.7 存放在方法区,1.8后存放在堆中

// 字符串值改变只是修改引用,新建name2时会搜索常量池是否有"xiao",有则引用该字符串,因此name1和name2是存储的地址相同
String name1 = "hello";
name1 = "xiao";
String name2 = "xiao";

常用方法
在这里插入图片描述
String,不可变字符串,效率较慢
StringBuffer,可变长字符串,运行效率教StringBuilder慢,线程安全
StringBuilder,可变长字符串,运行效率快,线程不安全

时间类

Date
Calendar(较为常用 )
构造方法为protected Calendar(),无法直接创建该对象
在这里插入图片描述

SimpleDateFormat
在这里插入图片描述

System类

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值