【Java SE】Day11 final、权限、内部类、引用类型

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

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

五、案例:发红包界面版

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

 

 

 

 

posted @ 2021-05-26 22:34  哥们要飞  阅读(45)  评论(0)    收藏  举报