内部类-Object

内部类和Object
1.什么是内部类:
一个类中包含一个类,包含的类就是内部类

特点:
可生成class文件
可访问外部类私有属性
提供了外部类实现的方法

2.实例内部类
对象的创建依赖外部类对象

在实例内部类中不能定义静态属性

当外部类属性和内部类属性重名时,优先调内部类的。

3.静态内部类

对象的创建不依赖外部类对象,只需类名或直接创建

在静态内部类中,不能使用外部类的成员属性

4.局部类部类
概述:
在外部类的方法体内,定义的一个类

特点:
只能在方法内部去使用
如果在局部内部类中需要使用局部变量,默认家final,来确保生命周期的一致性

**

5.匿名内部类(重点掌握)

**
概述:
在写法上类似局部内部类;本质上是多态,能用多态的地方,肯定能使用匿名内部类

应用场景
如果值需要实例化一次对象,则使用匿名内部类;好处:提高效率

接口回调写法
接口引用作为形参,匿名内部类作为实参传递

接口回调的扩展
在回调前做些操作,回调后做些操作

6.Object
所有类的根类,任何类都是直接或间接继承Object
任何对象都可调用Object的方法
可作为参数接受任何对象
可作为返回值接受任何对象

7.getClass方法***
获取类的类对象
相同类不同对象,他们的类对象也是一致的

8.hashCode方法(重点掌握)

每个不同对象都可得到hash值,相同对象,hash值一样
用法;
往往需要重写hashCode,如果属性值一致,则hash值相同

**

9.toString方法***(重点掌握)

**
返回对象字符串表示形式
不重写得到类名@hash值,重写则往往返回属性值的字符串形式
一般只需要直接打印对象即可,内部会调toString;一般用于测试

**

10.equals方法***(重点掌握)

**
Object的equals方法比较对象地址是否相等
重写equals,往往比较属性值是否相等
注意重写步骤及相关判断

**

11.finalize方法(重点掌握)

**
如果有垃圾对象需要回收,会触发到该方法
自动触发:内存用完了,则会自动销毁所有垃圾对象
手动触发:需调用System.gc()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值