JAVA常用类与内部类

Viridis ·
更新时间:2024-11-10
· 613 次阅读

什么是内部类? 在类中定义的类,称之为内部类。
在这里插入图片描述 Java中有几种内部类?

1、成员内部类:定义在类中的类,属于类的成员,创建成员内部类对象必须依赖外部类对象。
在这里插入图片描述
2、静态内部类:定义在类中的类,class 关键字前加入 static 修饰符,创建静态内部类对象不需要外部类对象。
在这里插入图片描述
在这里插入图片描述
3、局部内部类:定义在方法中的类,作用范围只在当前方法中。
在这里插入图片描述
4、匿名内部类:特殊的局部内部类,没有类名,只能作为子类出现且只能创建一个对象。
在这里插入图片描述

Object类 Object类有什么特点? Object类是所有类的父类(超类,根类,基类),Java中所有类都是Object类的子类 Object类中所定义的方法是所有类都具备的。 由于多态的存在,Object类型的引用可以存储任意类型的对象。 getClass方法有什么用? 可以获取引用中对象的实际类型。
在这里插入图片描述
打印结果:class 包名.Dog 可以判断两个引用中保存的对象是否为同一类型
在这里插入图片描述
打印结果:false hashCode方法有什么用? 可以返回一个对象的《哈希码值》,默认返回根据内存地址转换成的《哈希码值》。
哈希码值:通过特定的算法计算出的一个整数,通常用该整数表示一个对象。
在这里插入图片描述 mc1、mc2分别是两个不同的对象,拥有不同的地址,所以两个hashCode也会不同。 toString方法有什么用? 返回表示当前对象的字符串;通常我们会覆盖该方法,将本类的各个属性拼接成字符串并返回。
在这里插入图片描述 System.out.print 方法直接打印对象引用时会自动调用toString方法,打印该方法的返回值。
在这里插入图片描述
打印结果:Student [ 张三,18,90.5] 约定俗称的toString方法字符串拼接习惯:
类名 [ 属性名1=属性1 , 属性名2=属性2 …]
例: "Student [name=" + name + ", age=" + age + "]"

**Object类中的toString方法默认返回的是该对象内存地址相关信息。
**

equals方法有什么用 判断两个对象的内容(各个属性值)是否相同。
Object类中提供的equals方法仅用于判断两个对象的地址是否相同,通常我们会覆盖方法,加强原有功能(让其具备判断两个对象内容是否相同的功能)。
在这里插入图片描述 判断两个对象内容是否相同:
在这里插入图片描述 finalize方法有什么用? 垃圾回收器在回收垃圾对象时,调用该方法。 垃圾对象:
1、没有引用的对象
在这里插入图片描述
2、失去引用的对象
在这里插入图片描述
作者:ヾ剑仙の凉城づ



内部类 JAVA

需要 登录 后方可回复, 如果你还没有账号请 注册新账号