一、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作为方法参数和返回值

  • 传递和返回的是接口的子类对象

五、案例:发红包界面版

可以发普通红包和手气红包

最新文章

  1. Android中ListView控件的使用
  2. linux下socket编程
  3. Unity3D ShaderLab 创建自定义高光类型
  4. (六)6.9 Neurons Networks softmax regression
  5. CodeViz产生函数调用图
  6. poj 2377 Bad Cowtractors(最大生成树!)
  7. Ext2文件系统布局,文件数据块寻址,VFS虚拟文件系统
  8. Swift 学习笔记(四)
  9. leetcode--014 Gas station
  10. PHP中的函数声明与使用
  11. 使用weinre远程调试
  12. 【基础】这15种CSS居中的方式,你都用过哪几种?
  13. [LeetCode] Implement Magic Dictionary 实现神奇字典
  14. 【一天一道LeetCode】#260. Single Number III
  15. DB Query Analyzer 5.05 is released, 65 articles concerned have been published
  16. windows sqlplus客户端连接oralce数据库中文显示问题
  17. JS弹出对话框的三种方式
  18. java泛型的作用和好处
  19. [py][mx]django城市-教学机构-教师模型设计
  20. TensorFlow基础笔记(13) tf.name_scope tf.variable_scope学习

热门文章

  1. 驱动开发:内核CR3切换读写内存
  2. 跟我学Python图像处理丨傅里叶变换之高通滤波和低通滤波
  3. C++自学笔记 面向对象程序设计OOP(Object Oriented Programming)
  4. Python对字符数据进行清洗
  5. The XOR Largest Pair (trie树)
  6. 深入剖析Sgementation fault原理
  7. IDEA中设置背景图片(超详细)
  8. java 新特性之 Stream API
  9. C++ set集合容器用法解析
  10. JavaScript进阶(Learning Records)