【Java SE】Day11 final、权限、内部类、引用类型
2024-10-20 07:50:43
一、final关键字
1、概述
- 避免子类改写父类内容,使用final关键字,修饰不可变内容
- 可以修饰类(不可被继承)、方法、变量(不能被重新赋值 )
2、使用
- (基本类型)被修饰的变量只能被赋值一次
- (引用类型)只能指向一个对象,地址 不能改变,可以调用方法修改成员变量
- (成员变量):构造方法初始化/显式初始化,字母大写
二、权限修饰符
- 成员变量使用private ,隐藏细节。
- 构造方法使用public ,方便创建对象。
- 成员方法使用public ,方便调用方法。
- default不能访不同包的子类
三、内部类
1、概述
- 成员内部类:类中方法外的类(汽车的发动机类)
- 内部类可以直接访问外部类的私有成员
- 外部类访问内部类需要建立内部类的对象
- 创建内部类对象格式:Car.Engine eng = new Car().new Engine();
- 内部类会被编译为独立的class文件,但名字为Car$Engine.class
2、匿名内部类
- 是内部类的简化写法
- 带具体实现的父类/父接口的匿名子类对象
- 前提:继承父类/实现父接口
- 创建了抽象父类/父接口对象的原因(父类引用指向子类对象+匿名内部类=创建子类对象)
- 形参是接口或抽象类时,作为参数传递
四、引用类型总结
1、class作为成员变量
2、interface作为成员变量
3、interface作为方法参数和返回值
- 传递和返回的是接口的子类对象
五、案例:发红包界面版
可以发普通红包和手气红包
最新文章
- Android中ListView控件的使用
- linux下socket编程
- Unity3D ShaderLab 创建自定义高光类型
- (六)6.9 Neurons Networks softmax regression
- CodeViz产生函数调用图
- poj 2377 Bad Cowtractors(最大生成树!)
- Ext2文件系统布局,文件数据块寻址,VFS虚拟文件系统
- Swift 学习笔记(四)
- leetcode--014 Gas station
- PHP中的函数声明与使用
- 使用weinre远程调试
- 【基础】这15种CSS居中的方式,你都用过哪几种?
- [LeetCode] Implement Magic Dictionary 实现神奇字典
- 【一天一道LeetCode】#260. Single Number III
- DB Query Analyzer 5.05 is released, 65 articles concerned have been published
- windows sqlplus客户端连接oralce数据库中文显示问题
- JS弹出对话框的三种方式
- java泛型的作用和好处
- [py][mx]django城市-教学机构-教师模型设计
- TensorFlow基础笔记(13) tf.name_scope tf.variable_scope学习