一、JAVA中的静态:

1.代码如下:

示例:

package 静态static;

public class 静态static {


    public static void main(String[] args) {



        静态static1 one =new 静态static1("李明",19);
        静态static1 two =new 静态static1("小五",15);

        one.room="1001教室";
        System.out.println("姓名:"+one.getName()+"  年纪:"+one.getAge()+"  教室:"+one.room);
        System.out.println("姓名:"+two.getName()+"  年纪:"+two.getAge()+"  教室:"+one.room);




        静态static1 obj =new 静态static1();//首先创建对象
        //然后才能使用没有static关键字的内容
        obj.method();
        //对于静态方法来说,可以通过对象名进行调用,也可以直接通过类名称来调用
        obj.staticmethod();// 正确但不推荐
        静态static1.staticmethod();//正确推荐



    }


==============================================================
package 静态static;

public class 静态static1 {
    private String name;
    private int age;

    static String room;
    //
    public void method(){

        System.out.println("这个一个成员方法");
    }

    public static void staticmethod(){
        System.out.println("这是一个静态方法");

    }
    //
//静态代码块


        static {

            System.out.println("静态代码块执行了");


        }






//




    public 静态static1() {
    }


    public 静态static1(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

2.运行结果:

示例:

静态代码块执行了
姓名:李明  年纪:19  教室:1001教室
姓名:小五  年纪:15  教室:1001教室
这个一个成员方法
这是一个静态方法
这是一个静态方法


总结:

提示:这里对文章进行总结:

static:
          一旦使用static关键字,那么这样的内容不再属于对象自己,而是属于类,所以凡是本类的对象,都是共享的。
          如果一个成员变量使用了static关键字,那么这个变量不再属于自己,而是属于所在的类,多个对象共享同一份数据
   如果没有static关键字,那么必须首先创建对象,然后通过对象才能使用他
   如果有了static关键字,那么不需要创建对象,直接就能通过类名称调用
 无论是成员变量,还是成员方法,如果有了static,都推荐使用类名称进行调用
 静态变量:类名称.成员变量
 静态方法:类名称.成员方法()

  注意:
         1.静态不能访问非静态
             原因:因为在内存中是先有的静态内容,后有的非静态内容
         2.静态方法当中不能使用this.
              原因:this代表当前对象,通过谁调用的方法,谁就是当前对象
          3.对于本类中的方法,可以直接写方法名称来调用
          4.根据类名称访问静态成员变量的时候,全程和对象没关系,只和类有关系


    静态代码块的格式:
      public class 类名称{
           static{

           //静态代码块内容

           }
      }
             特点:
                  当第一次用到本类时,静态代码块执行唯一的一次
                  静态内容总是优先于非静态内容,所以静态代码块比构造方法先执行