常用类
2023-04-12 19:07:19 108 举报
AI智能生成
简单学习了常用类的概念以及它的一些基本用法
作者其他创作
大纲/内容
1、成员内部类
2、静态内部类
3、局部内部类
4、匿名内部类
内部类的分类
1、内部类可以访问外部类的私有化属性并且不破坏封装
2、内部类也会生成.class文件 名为:外部类名$内部类名.class
内部类的特点
一个Java文件可以编写多个类,但是只能有一个public修饰的,称之为主类,主类名必须与文件一致
建议:一个java文件中就写一个类
外部类的特点
1.1内部类概念:在一个类中定义的类,称之为内部类,外部的类称为外部类
1、成员内部类中只能定义非静态属性和方法
2、成员内部类可以访问外部类的成员,私有的可以、静态的也可以
语法:内部类 对象名 = new 外部类().new 内部类();
成员内部类如何创建对象
1.2成员内部类
1、静态内部类可以定义属性和方法 也能定义静态属性和方法
2、静态内部类只能访问外部类的静态属性和方法
语法:内部类 对象名 = new 外部类.内部类();
1.3静态内部类
1、只能定义非静态属性和方法
2、可以访问私有化 静态的 外部类成员
3、局部内部类只能在方法中创建对象
定义在方法中,特点是:
局部内部类只能当局部常量
在jdk 1.7 版本 局部变量要在局部内部类中使用的话需要加上 final 显示加上
在jdk 1.8 版本 final 是默认加上的
因为局部变量在方法试用结束后会被销毁,而局部内部类的对象要等到回收机制进行销毁,所以如果是常量的话,那么会被存放在常量池中
面试题:
1.4局部内部类
本身就是一个对象
new Father(){ 具体实现 };
语法:
如果你的方法是一个接口 但是接口需要实现 只需要实现一次 那么就可以直接使用匿名内部类
这个接口每一次实现的方式都不一样 那么就可以使用匿名内部类
应用场景:
1.5匿名内部类
一、内部类
1、所有的类的父类 超类 基类 位于继承树的最顶端
2、任何一个没有显示定义extends父类的类,都是直接或间接继承Object类
3、任何一个类都享有Object类提供的方法
4、Object类可以代表任何一个类(多态)可以作为方法的参数 和方法返回值
2.1概念
此方法返回对象的真实类型
1、getClass
1、返回对象的十进制哈希值
2、hash值是通过hash算法 通过对象、地址 对象中的字符串 数字 等计算出来的
3、相同对象应当返回相同的hash值,不同对象尽量返回不同的hash值
2、hashCode
返回对象是字符串的的表达形式
全限定+@+十六进制
如果直接打印 默认输出对象的toString方法
通常情况下 我们输出对象 希望看到的是里面赋值的属性 而不是全限定+@+十六进制 需要重写父类 object的toString方法
3、toString
字符串比较的是地址 其实不希望比较地址 所以需要重写equals方法
如果使用equals 比较对象 不希望比较地址 而是对象中的内容 也是需要重写
4、equals
当垃圾回收期回收垃圾对象的时候自动调用
5、finalize
2.2Object类中的常用方法
二、Object类
1、因为基本数据类型不具有方法和属性,而引用数据类型可以拥有方法和属性,使用更加的灵活
2、所以java给8种基本数据类型提供对应8个包装类,包装类也就是引用数据类型
为什么要有包装类
概念
三、包装类
常用类
0 条评论
回复 删除
下一页