方法和函数

定义方式作用调用方式
函数public static void 函数名(){}封装指定功能的代码块函数名()
方法public [static] void 方法名(){}类的行为,对象可以执行的一些功能对象名.方法名

定义函数

使用static修饰的内容成为静态的内容

1
2
public static void function1(){
}

调用函数

1
function1()

定义方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void class className1{

String name;
//静态变量
static String age;

//静态方法
public static function1(){
}

//类方法
//非静态方法可以调用静态变量和非静态变量、静态方法和非静态方法
public function2(){
}
}

调用方法

  • 调用静态方法,不需要实例化
1
className1.function1()
  • 调用方法
1
className1的对象,需要实例化

静态方法注意事项:

  • 静态方法无法直接引用非静态的变量
  • 静态方法不能直接调用非静态的方法

代码块

  • 定义在方法内部,和局部变量处于平行的位置
  • 生命周期随着方法的调用而加载,随着方法的结束而消亡
  • 可以在局部代码块中定义一些使用范围和时间都很短的变量,用完就消失啦
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public void class className1{

String name;
static String age;

//类方法
//非静态方法可以调用静态变量和非静态变量、静态方法和非静态方法
public void function2(){

//定义代码块
{
int i = 100;
System.out.println("方法中的变量i=" + i);
}

}
}

构造代码块

  • 构造代码快写在和构造方法平行的位置
  • 只要创建对象,构造代码块就会执行,不论是采用有参的还是无参数的构造方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public void class{
//有参构造
class(String name){
}
//无参构造
class(){
}
//构造代码块
{
int i=100;
System.out.println("构造代码块i=" + i);
}

}

静态代码块

  • 被static修饰的代码块称为静态代码块
  • 随着类的加载而加载
  • 静态代码块只执行一次,在程序中可以完成加载驱动等只执行一次的操作
1
2
3
4
5
public void className1{
static{
System.out.println("我是静态代码块i=" + i);
}
}