Table of Contents
- 是随着类的加载而加载的,且只加载一次。
- 存储于一块固定的内存区域(静态区),所以,可以直接被类名调用。
- 它优先于对象存在,所以,可以被所有对象共享。
static 静态代码块
- 静态代码块:
- 定义在类下(和类方法平级),使用static修饰的代码块{ }。
- 位置:类中方法外。
- 执行:随着类的加载而执行且执行一次,优先构造方法的执行。
static 静态导入
- 静态导入就是java包的静态导入,
- 使用import static 静态导入包 ,
- 直接使用方法名去调用静态的方法。
权限修饰符
-
四大修饰符
- public:公共的
- protected:受保护的
- default:默认的
- private:私有的
-
不同权限的访问能力
- public 全部可以访问
- protected 不同包中无关类无法访问
- default 不同包,不同包中不能访问
- private 只能同一个类中访问
public protected default(空的) private 同一类中 √ √ √ 同一包中(子类与无关类) √ √ √ 不同包的子类 √ √ 不同包中的无关类 √ - 建议使用权限:
- 成员变量使用
private
,隐藏细节。 - 构造方法使用
public
,方便创建对象。 - 成员方法使用
public
,方便调用方法。
- 成员变量使用
内部类
- 内部类简介:
- 在一个类中,定义一个类
- 分类(成员内部类,匿名内部类)
- 成员内部类 :定义在类中方法外的类。
- 定义
- 内部类可以直接访问外部类的成员,包括私有成员。
- 外部类要访问内部类的成员,必须要建立内部类的对象。
- 创建内部类对象格式:
- 外部类名.内部类名 对象名 = new 外部类型().new 内部类型();
- 小提示
- 内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号
- 定义
- 匿名内部类 :是内部类的简化写法。
- 定义:
- 它的本质是一个
带具体实现的
父类或者父接口的
匿名的
子类对象。
- 它的本质是一个
- 使用:
-
new 父类名或者接口名(){ // 方法重写 @Override public void method() { // 执行语句 } };
-
- 定义:
- 成员内部类 :定义在类中方法外的类。
引用类型的传递
-
类名作为形参,作为返回值
- 实际上都是传递对象的地址,
-
抽象类作为形参和返回值
- 实际上是对抽象类的实现类地址传递
-
接口名作为形参和返回值
- 实际上是对接口实现类的地址传递
2.扩展延伸知识
- private 修饰的final 是什么含义?
- private 是只能当前类的内部使用
- final是只能赋值一次
- 只能在当前类中使用,不能被继承
3.灵感代办
- 描述final修饰的类的特点
- 描述final修饰的方法的特点
- 描述final修饰的变量的特点
- 能够掌握static关键字修饰的变量调用方式
- 能够掌握static关键字修饰的方法调用方式
- 能够写出静态代码块的格式
- 能够说出权限修饰符作用范围
- 能够说出内部类概念
- 能够理解匿名内部类的编写格式
- 能够使用引用类型作为方法的参数并调用
4.复习内容
5.学习成果&问题
- private 是只能当前类的内部使用
- final是只能赋值一次
- 只能在当前类中使用,不能被继承
- 描述final修饰的类的特点
- 描述final修饰的方法的特点
- 描述final修饰的变量的特点
- 能够掌握static关键字修饰的变量调用方式
- 能够掌握static关键字修饰的方法调用方式
- 能够写出静态代码块的格式
- 能够说出权限修饰符作用范围
- 能够说出内部类概念
- 能够理解匿名内部类的编写格式
- 能够使用引用类型作为方法的参数并调用
4.复习内容
5.学习成果&问题