1.final变量
- final关键可用于变量声明,被final关键字修饰的变量无法再次更改变量的值(final修饰的变量只能赋值一次)
- 由final定义的变量为常量
- final double PI =3.14
2.final方法
- final修饰的方法不能被重写
- 将方法定义为final类型可以防止任何子类修改该类的定义与实现方式,
- 同时final的方法执行效率高于非final方法
- private修饰的父类方法,子类无法访问
- 一个被private修饰的方法,无需再用final类型定义
- 父类的方法被final类型修饰,子类无法覆盖
3. final类
- 定义为final的类不能被继承
- final 类名{}
- 如果一个类被设置为final形式,则类中的方法都被隐式的设置为final形式
- 但final类中的成员变量可以被定义为final或非final形式
4.类名冲突
编译器不允许同名类出现在同一个包中
5.完整的类路径
一个完整的类名需要包名和类名的组合,只要同一包中的类不同名,就可以有效的避免同名类冲突的
6.导入类包
关键字:import
*号
java.lang.Math.*;
7.创建类包
合法的包名
域名的逆序
8.内部类
成员内部类
- 在一个类中使用内部类可以在内部类中直接存取其所在的私有成员变量
public class OuterClass{
//外部类
}
private class innerClass{
//内部类
}
匿名内部类
- 不一定要给内部类取一个名字,可以直接以对象名类代替
- 匿名内部类的所有代码都写在大括号中
return new A(){
//内部类体
} A:为对象名
局部内部类
在类的方法中定义的内部类,作用范围是这个方法
静态内部类
- 在内部类前加修饰符static,这个内部类就变成了静态内部类
- 一个静态内部类中可以声明static成员,非静态内部类中不可以声明静态成员变量
- 静态内部类不可以使用外部类的非静态成员,静态内部类在程序开发中用的较少
内部类的继承
- 内部类的继承需要专门的语法
- 类名.静态内部类的名称 = new 静态内部类的名称();
public class out extends A.B(
//继承A类中的内部类B
}