Java面向对象12——static详解

static

 package oop.demon01.demon07;
 
 // static :
 public class Student {
 
     private static int age;//静态变量 多线程
     private double score;//非静态变量
 
     public void run(){
         // 非静态方法可以去调用静态方法里的所有东西
        go();
    }
     public static void go(){
 
    }
     
     // mian方法也是   static
     public static void main(String[] args) {
         /*   静态属性:
                 Student s1=new Student();
                 System.out.println(Student.age);
                 System.out.println(s1.age);
                 System.out.println(s1.score);
          */
 
 // 静态方法可以调用静态方法,不能直接调用普通方法(要new一个对象)
         //run(); 不可以直接调用
         new Student().run();// 对象.方法
 
         Student.go();
         go();
         
    }
 
 }
补充1.0
 package oop.demon01.demon07;
 // 补充:
 public class Person {
 
     // 2: 赋初值
    {
         //代码块(匿名代码块)
         System.out.println("匿名代码块");
    }
     //1 :只执行一次
     static {
         //静态代码块
         System.out.println("静态代码块");
    }
     
     //3
     public Person() {
         System.out.println("构造方法");
    }
 
     public static void main(String[] args) {
         Person person=new Person();
         /*
         静态代码块
         匿名代码块
         构造方法
          */
         System.out.println("---------------------");
         Person person1=new Person();
         /*
         匿名代码块
         构造方法
          */
    }
 }
 
 
 /*
     {
         //代码块(匿名代码块)
     }
     static {
         //静态代码块
     }
  */
补充2.0
 package oop.demon01.demon07;
 
 //静态导入包
 import static java.lang.Math.random;
 
 public class Test {
 
     public static void main(String[] args) {
         System.out.println(random());
    }
 }
 // 注意:通过final修饰的类就不能被继承-----没有子类(final后断子绝孙)

 

posted @ 2021-08-02 09:48  时间最考验人  阅读(160)  评论(1编辑  收藏  举报