权限修饰符
static关键字
静态变量
public class Practice1 {
static int age;
int name;
public Practice1(int age,int name) {
this.age = age;
this.name = name;
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Practice1 p1 = new Practice1(1,2);
Practice1 p2 = new Practice1(3,4);
System.out.println("p1:"+"age="+p1.age+" name="+p1.name);//p1:age=3 name=2
System.out.println("p2:"+"age="+p2.age+" name="+p2.name);//p1:age=3 name=4
}
}
静态变量为所有对象共享,所以一个对象更改了,其他对象也会变化
静态常量
final static double PI=3.1415926;
静态常量无法修改
静态方法
public class Practice1 {
public static void test() {
System.out.println("test");
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Practice1.test();//test
}
}
不创建对象就可以使用静态方法
静态代码块
public class Practice1 {
public Practice1(){
System.out.println("这是构造方法");
}
{
System.out.println("这是普通代码块");
}
static {
System.out.println("这是静态代码块");
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Practice1 p1 = new Practice1();
}
}
//这是静态代码块
//这是普通代码块
//这是构造方法
静态代码块就算不创建对象也会执行,类中的普通代码块会在构造方法之前执行
对象和引用
Practice1 p1 = new Practice1();
其中“new Practice1()”是对象,“p1”是引用,一个对象可以有多个引用