final:关键字,最终的意思
final修饰的类:最终的类,不能被继承
final修饰的变量: 相当于是一个常量, 在编译生产.class文件后,该变量变为常量值
final修饰的方法: 最终的方法,子类不能重写,可以继承过来使用
static : 关键字, 静态的意思
可以用来修饰类中的成员(成员变量,成员方法)
注意: 也可以用来修饰成员内部类
特点:
被静态所修饰的成员,会被所有的对象所共享
被静态所修饰的成员,可以通过类名直接调用,方便
Person.country = "中国";
Person.method();
注意事项:
静态的成员,随着类的加载而加载,优先于对象存在
在静态方法中,没有this关键字
静态方法中,只能调用静态的成员(静态成员变量,静态成员方法
匿名对象:一个没有名字的对象
特点:
创建匿名对象直接使用,没有变量名
匿名对象在没有指定其引用变量时,只能使用一次
匿名对象可以作为方法接收的参数、方法返回值使用
内部类:在一个类中,定义了一个新类,这个新的类就是内部类
class A {//外部类
classB{// 内部类
}
}
特点:
内部类可以直接访问外部类的成员,包含私有的成员
包的声明与访问:
类中包的声明格式:
package 包名.包名.包名…;
带有包的类,创建对象格式:包名.类名 变量名 = new包名.类名();
cn.itcast.Demo d = new cn.itcast.Demo();
导包的格式:
import 包名.类名;
权限修饰符:
public : 公共的
protected: 受保护的
private : 私有的
public protected 默认的 private
在当前类中: Y Y Y Y
同一包中的其他类: Y Y Y
不同包中的子类: Y Y
不同包中的其他类: Y
代码块:
局部代码块:定义在方法中的,用来限制变量的作用范围
构造代码块:定义在类中方法外,用来给对象中的成员初始化赋值
静态代码块:定义在类中方法外,用来给类的静态成员初始化赋值