9.static关键字

来源:互联网 发布:mysql修改参数为自增 编辑:程序博客网 时间:2024/06/16 09:59

1.static定义静态语句块

  static定义的语句块在类加载阶段执行,并且只执行一次并且是自上而下的顺序执行

public class test01{//静态语句块static{System.out.println("1");}static{System.out.println("2");}static{System.out.println("3");}public static void main(String[] args){System.out.println("hello world");System.out.println("hello world");}}

执行结果:1
2
3
hello world
hello world


2.static修饰的方法——————静态方法
成员方法必须使用“引用.”调用
静态方法使用"类名."调用
静态方法不能直接访问非静态数据
静态方法不能使用this
main方法设置成static:方便jvm的调用,调用main方法不需要创建对象

public class test01{//成员方法public void m1(){ System.out.println("m1 mothod");}    //静态方法public static void m2(){ System.out.println("m2 mothod");}public static void main(String[] args){m2();//静态方法类名.调用,因为在类中,可以省略类名test01 te = new test01();te.m1();//成员方法必须先创建对象,通过对象.调用}}

3.static修饰的变量——————静态变量

 (1) 变量分类:

           1.局部变量

           2.成员变量(也叫 实例变量,非静态变量)

           3.静态变量(方法区)

 (2)什么时候声明成静态变量?

       如果这个属性所有对象都有,并且这个属性值是相同的,则该属性应该声明成静态属性
   (3)   成员变量:创建Java对象的时候初始化

              静态变量:在类加载阶段赋值,并且只赋值一次

public class test01{public static void main(String[] args){     animal a1 = new animal("乌龟", 200); System.out.println(a1.name+"是"+animal.type +"," +a1.age+"岁了");}}class animal{String name;int age;static String type = "生物";animal(String _name, int _age){name = _name;age = _age;}}


原创粉丝点击