1. 代码块
意义:在类中写上一个大括号,其中写代码
特点:是一个无名的普通方法,不能有返回值 (return) (return:中断代码)
代码块一般用来做什么?:
- 一般用于初始化数据 和 构造器同样的作用
- 它在实例化的时候会被自动调用,且只能调用一次
- 实例化(new)的时候,代码块 比 构造器先调用
1.1静态代码块
相当于静态方法
执行顺序: 静态代码块 ——> 普通代码块 ——> 构造器
作用:用于保护代码 main()
2. 内部类(累不累)
三种:
- 普通内部类:在一个类{}中又写一个类
普通内部类只能有普通方法,不能有静态方法 - 静态内部类:跟静态方法很像,在类中可以有静态方法,也可以有普通方法
- 匿名内部类:在方法中创建的类叫做匿名内部类,只在方法中有效
public class A{
public class InnerA{
}
}
在内部类中,不能加静态方法
static 不能修饰类,但是能修饰静态内部类。静态内部类中可以声明普通方法和静态方法
注*
(1)class 文件 执行时,装载到内存中,先将所有的静态方法加入静态方法区
(2)构造器,用于初始化,没有返回值,用new关键字调用。同时它也是一个普通方法
(3)静态资源中(静态方法)只能调用静态其他资源
(4)构造器能调用普通方法,普通方法不能调用构造器,构造器可以调用其他构造器(用this,super)(构造器的嵌套调用),this、super必须放在构造器的第一行。
(5)在一个类文件中,只能有一个public,要与文件名相同