码迷,mamicode.com
首页 > 编程语言 > 详细

Java中的关键字 static

时间:2020-02-20 20:09:23      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:ann   非静态方法   main   int   使用   static代码块   err   不能   str   

 


public class HelloWord{
    public static void main(String[]a){
        System.out.printIn("Hello World");
    }
}

 

//静态变量,即类的共有成员,只依赖于类存在,不需要对象实例。
//所有对象实例中的静态变量的值 都共享存储在一个共同的栈空间
public class staticTest {
    static int num = 5;
    int num1=5;
    public staticTest(int num,int num1){
        this.num=num ;
        this.num1=num1;
    }
    public static void main(String[]a){
        System.out.println(staticTest.num);//可以直接通过类来进行访问
     // System.out.println(staticTest.num1);//这句是错误的
        System.out.println("**********华丽丽的分界线**************");
        staticTest obj=new staticTest(10,10);
        System.out.println(obj.num);
        System.out.println(staticTest.num);
      //证明了指向是同一块的内存空间 } }

 

//静态方法也不需要通过对象的引用,可以直接通过类名引用
//静态方法不能使用非静态变量,不能引用非静态方法
public class staticTest {
    static int a = 1;
    int b = 2;
    public static void f1()
    {
        System.out.println("wwwww");
        System.out.println(a);
        //System.out.println(b);  //不能用非静态的
        //f2()                    //error, cannot call non-static method
    }
    public void f2()
    {
        System.out.println("23333");
        f1();
        System.out.println(a);
        System.out.println(b);   //非静态函数调用非静态变量
    }
    public static void main(String[] a)
    {
        staticTest.f1();
        //staticTest.f2(); //error, 不能使用类名来引用非静态方法
    }
}

 

//static块   就是有static的代码块。

在程序运行期间,只运行一次(第一次加载的时候调用)
执行顺序:static代码块>匿名块>构造函数



 

Java中的关键字 static

标签:ann   非静态方法   main   int   使用   static代码块   err   不能   str   

原文地址:https://www.cnblogs.com/yoriko/p/12336944.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!