一、可修饰成员变量和方法
静态函数要注意的事项:
1.静态函数可调用类名或对象调用,而非静态函数只能使用对象调用。
2.静态函数可直接访问静态成员,但不能访问非静态成员。
原因:静态函数可通过类名直接调用,这时可能还未存在非静态成员,因为其是根据对象生成的。
二、执行顺序
静态代码块的执行顺序优先于非静态代码块,其在.class文件加载到内存时就执行
三、代码如下
package com.static_lc;
public class Student {
String name;
{
System.out.println("非静态代码块");
}
static {
System.out.println("静态代码块");
}
public Student(String name) {
// TODO Auto-generated constructor stub
this.name = name;
}
public static void sleep(){
Student s = new Student("lilei");
System.out.println(s.name + "在睡觉");
}
public static void study(){
System.out.println("静态方法");
}
}
public class Main {
public static void main(String[] args) {
Student.sleep();
}
}
输出结果: