常用类
2023-04-12 19:41:36 16 举报
AI智能生成
思维导图
作者其他创作
大纲/内容
内部类
(在一个类中定义的类,称之为内部类,外面的类的叫做外部类)
(在一个类中定义的类,称之为内部类,外面的类的叫做外部类)
分类
成员内部类
特点
成员内部类中只能定义非静态属性和方法
成员内部类可以访问外部类的成员,私有的可以,静态也可以
语法
内部类 对象名=new 外部类().new 内部类();
静态内部类
特点
静态内部类可以定义属性和方法 也能定义静态属性和静态方法
静态内部类只能访问外部类的静态属性和方法
语法
内部类 对象名= new 外部类.内部类()
局部内部类
(定义在方法中)
(定义在方法中)
特点
只能定非静态属性方法
可以访问私有化 静态的 外部类成员
局部内部类只能在方法中创建对象主题
匿名内部类
(本身就是一个对象)
(本身就是一个对象)
语法
new Father(){具体实现 }
特点
内部类可以访问到外部类的私有化属性并且不破坏封装
内部类也会生成.class文件 名为:外部类名$内部类名.class
Object类
概念
所有的类的父类 超类 基类 位于继承树的最顶端
.任何一个没有显示定义extend父类 的类,都是直接继承Object 间接继承
任何一个类都享有Object提供的方法
Object可以代表任何一个类(多态) 可以作为方法的参数 和方法返回值
Object中的常用方法
getClass
返回对象的真实类型
hashCode
返回对象的十进制哈希码值
注意:相同对象应当返回相同的哈希码值,不同对象尽量返回不同的哈希码值
toString
返回对象的字符串表达形式
全限定+@+十六进制
全限定+@+十六进制
注意:通常情况下 我们输出对象 希望看到的是里面赋值的属性 而不是全限定+@+十六进制 需要重写父类 object的 toString方法
equals
" "字符串比较的话是地址 其实不希望比较地址 所以需要重写 equals 方法**
如果使用equals 比较对象 不希望比较地址 而是对象中的内容 也是需要重写
如果使用equals 比较对象 不希望比较地址 而是对象中的内容 也是需要重写
重写了equals的同时也需要重写hashcode方法
==和equals的区别
== 可以用于基本类型和引用类型
==在基本类型的比较中,比较的值是否相等
==在引用类型的比较中,比较的地址是否相等
equals只能用于引用类型的比较
在没有重写父类的equals方法时。比较的也是地址
finalize
当垃圾回收期回收垃圾对象的时候自动调用
包装类
概念
为什么会有包装类?
因为基本数据类型不具有方法和属性。而引用数据类型可以拥有属性和方法,使用更加的灵活
0 条评论
下一页