1.static修饰成员变量。
2、static修饰成员方法。
3、static代码块。
1、static是一个形容词起到的是修饰的作用,它可以修饰成员变量下面我们通过一串代码来看看
首先是无static修饰的成员变量。
public class Person{
public ststic void main(String[] args){
person p=new Person();//需要先创建对象,才能设置对象属性
p.name="张三";
}
}
classs Person{
String name;
int age;
}
接着用static修饰成员变量:
public class Person{
public ststic void main(String[] args){
Person.name="张三";//用static修饰的变量在调用时只需要用类名.变量名直接调用。
}
}
classs Person{
static String name;
int age;
}
static定义的属性属于公共属性即上面定义的name是公用的,并不是私有的。
2static修饰方法
同样用一串代码来看看
public class Peron{
public static void main(String[] args){
Per.baby();//static修饰的方法只需要用过类名.方法名来调用
Peron p=new Peron();
p.he();//非static修饰的需要先实例化对象然后用对象名.方法名来调用
}
class Peron{
public static Peron void baby(){
System.out.println("HelloWorld!");
}
public void hi(){
System.out.println("你好");
}
此外需要注意的是用static修饰的方法不能调用非static关键字定义的方法或属性,
非static关键字定义的方法可以调用static关键字定义的属性和方法。
public class Peron{
public static void main(String[] args){
baby();//直接调用static修饰的方法
hi();//错误static修饰的方法不可以直接调用非static修饰的方法
Peron p=new Peron();
p.he();//非static修饰的需要先实例化对象然后用对象名.方法名来调用
}
class Peron{
public static Peron void baby(){
System.out.println("HelloWorld!");
}
public void hi(){
System.out.println("你好");
}
3、静态代码块
格式为static{
}
该代码块在程序运行的时候第一个执行,也就是说它在执行主方法之前就执行了,不管实例化多少个对象静态代码块只执行一次。
静态代码中的方法同static修饰的方法的使用一样。