1.代码块
在Java中,代码块是用于组织代码的一种方式。它们通常用于初始化变量和定义某些操作的范围。Java中的代码块主要有三种类型:实例代码块、静态代码块和局部代码块。
1.1实例代码块
实例代码块是在类的每个实例创建时执行的代码块。它们用于初始化实例变量。
public class Example {
{
// 实例代码块
System.out.println("Instance code block executed");
}
public Example() {
System.out.println("Constructor executed");
}
public static void main(String[] args) {
Example e = new Example();
}
}
实例代码块在每次创建对象时都会被执行。在上面的代码中,"Instance code block executed" 会在构造函数执行之前输出。
1.2静态代码块
静态代码块是类加载时执行的代码块,用于初始化静态变量。每个类在第一次加载时只会执行一次静态代码块。
public class Example {
static {
// 静态代码块
System.out.println("Static code block executed");
}
public static void main(String[] args) {
System.out.println("Main method executed");
}
}
静态代码块在类加载时被执行,"Static code block executed" 会在main
方法执行之前输出。
1.3局部代码块
局部代码块是在方法内部定义的代码块,用于限制局部变量的作用范围。
public class Example {
public void method() {
int a = 10;
{
// 局部代码块
int b = 20;
System.out.println("Inside block: a = " + a + ", b = " + b);
}
// System.out.println("Outside block: b = " + b); // 编译错误,因为b的作用域仅限于代码块内部
}
public static void main(String[] args) {
new Example().method();
}
}
局部代码块可以在方法内创建一个新的作用域,限制变量的生存期和作用范围。
2.包
包(Package)是Java中的一种组织类的机制,它可以帮助我们管理和组织代码。包提供了以下功能:
- 避免类名冲突。
- 控制访问权限。
- 组织相关的类和接口。
2.1创建包
创建包时,首先在Java源文件的开头声明包名。然后将该源文件放入与包名对应的目录中。
// 文件路径: com/example/Example.java
package com.example;
public class Example {
public void display() {
System.out.println("Hello from the package!");
}
}
package com.example;
声明了这个类属于com.example
包。
2.2使用包
在其他类中使用包中的类时,需要通过import
语句导入相应的包。
import com.example.Example;
public class Test {
public static void main(String[] args) {
Example e = new Example();
e.display();
}
}
import com.example.Example;
语句允许你在Test
类中使用com.example
包中的Example
类。
2.3默认包
public class Example {
public static void main(String[] args) {
System.out.println("No package declared");
}
}
上面的Example
类没有声明包,因此它被放在默认包中。