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

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

五、案例:发红包界面版

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

【Java SE】Day11 final、权限、内部类、引用类型的更多相关文章

  1. java基础第九篇之final和内部类等

    final关键字:final:最终,终极 final:作用:修饰类,变量,方法.成员变量的访问 1.final修饰变量: final修饰局部变量: 把这个局部变量 变成一个厂里,这个厂里只能被赋值一次 ...

  2. Java SE 第二十三讲----static关键字and final关键字

    1.static关键字 [在二十二讲视频中30分钟开始讲授] 2.static修饰属性:无论一个类生成了多少个对象,所有这些对象共同使用唯一一份静态的成员变量:一个对象对该静态成员变量进行了修改,其他 ...

  3. Java Se 基础系列(笔记) -- OO

    记录所学到的关于Java Se的一些基础知识 1.对象是通过“属性(成员变量)”和“方法”来分别对应事物所具有的静态属性和动态属性 2.类(Class)是对某一类事物的抽象,对象(Object)为某个 ...

  4. Java SE教程

    第0讲 开山篇 读前介绍:本文中如下文本格式是超链接,可以点击跳转 >>超链接<< 我的学习目标:基础要坚如磐石   代码要十份规范   笔记要认真详实 一.java内容介绍 ...

  5. Java复习总结(二)Java SE 面试题

    Java SE基础知识 目录 Java SE 1. 请你谈谈Java中是如何支持正则表达式操作的? 2. 请你简单描述一下正则表达式及其用途. 3. 请你比较一下Java和JavaSciprt? 4. ...

  6. Java学习笔记:04面向对象-内部类_访问修饰符_final

    04面向对象-内部类/访问修饰符/final 1.static的介绍 static:关键字,静态的 static的作用是用来修饰类中的成员 2.访问一个类中的某一个成员变量 方法一: _1.创建对象 ...

  7. 浅析Java中的final关键字(转载)

    自http://www.cnblogs.com/dolphin0520/p/3736238.html转载 一.final关键字的基本用法 在Java中,final关键字可以用来修饰类.方法和变量(包括 ...

  8. 浅析Java中的final关键字

    浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...

  9. Java基础-关键字-final

    在Java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).下面就从这三个方面来了解一下final关键字的基本用法. 1.修饰类 当用final修饰一个类时,表明这个类不能被继 ...

  10. [转载]浅析Java中的final关键字

    浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...

随机推荐

  1. 基于 OpenTelemetry 的链路追踪

    链路追踪的前世今生 分布式跟踪(也称为分布式请求跟踪)是一种用于分析和监控应用程序的方法,尤其是使用微服务架构构建的应用程序.分布式跟踪有助于精确定位故障发生的位置以及导致性能差的原因. 起源 链路追 ...

  2. 为MinIO Server设置Nginx代理

    官方文档地址:http://docs.minio.org.cn/docs/master/setup-nginx-proxy-with-minio nginx参考网址:https://www.nginx ...

  3. CentOS7下的lvm(逻辑卷)在线扩容

    扩展前该lvm分区为14GB 关闭系统,给sdb硬盘扩展6GB,然后重新进入CentOS.(或者是原有磁盘还有剩余未使用的空间) 对sdb进行分区: [root@converter ~]# fdisk ...

  4. 使用kuboard界面配置springcloud的其中一个模块设置环境变量,使用nacos配置地址等有关设置

    总结: 工作负载类型是StatefulSet的pod,不论其上层的service是nodeport还是Headless, 对外提供的地址格式是: <pod name>.<servic ...

  5. Elasticsearch官方文档离线访问实操指南

    文章转载自:https://mp.weixin.qq.com/s/Cn9ddkj-cne5pKtfOgNPbg 延申一下,不仅能下载Elasticsearch官方文档,还能下载其他软件的官方文档,详看 ...

  6. PAT乙级 1024 科学计数法

    思路 1.尝试失败:一开始想打算把结果直接存在一个字符串中,后来发现当指数大于0的时候还需要分别考虑两种情况,工程量巨大,尝试失败,于是借鉴了其他大佬思路,写出了ac代码 2.ac思路:首先取指数的绝 ...

  7. HBase(1/5)

    HBase学习(一) 一.了解HBase 官方文档:https://hbase.apache.org/book.html 1.1 HBase概述 HBase 是一个高可靠性.高性能.面向列.可伸缩的分 ...

  8. C#实现登录某web进而获取其token数据

    实习在学C#,记录一下学习过程! 首先是需求描述(基于C#的.net core MVC实现): User: Resource Owner Agent:Brower auth.brightspace.c ...

  9. uoj349【WC2018】即时战略

    题目链接 WC出了点意外滚粗了,来补补题. \(O(n^2)\)的时间复杂度,\(O(nlogn)\)的询问次数应该还是比较好想的,每次要打通到x的路径,对当前已知的树不断的找重心并询问在重心的哪颗子 ...

  10. java集合框架复习----(3)Set

    文章目录 四.set集合 1.hashSet[重点] 2.TreeSet 四.set集合 无序.无下标.元素不可重复 1.hashSet[重点] == 数组+链表+红黑树== 基于hashcode计算 ...