Bootstrap

Java基础14

Java基础14

  1. static关键字:

    • static修饰的变量即静态变量,可以通过类直接调用,非静态变量需要实例化类以后才可以调用。
    • static修饰的方法即静态方法,可以通过类直接调用,非静态方法需要实例化类以后才可以调用。非静态方法可以调用静态方法,反之,则会报错,因为静态方法是和类一起加载的。
    public class Student {
        private static int age; // 静态变量
        private double score; // 非静态变量
        
        System.out.println(Student.age);
        System.out.println(new Student().age);
        System.out.println(new Student().score);
        
        // 非静态方法
        public void run(){
            go(); // 调用静态方法
        } 
        
        public static void go(){} // 静态方法
        
        
        {
            // 代码块(匿名代码块)
            System.out.println("匿名代码块");
        }
        
        static {
            // 静态代码块
            System.out.println("静态代码块");
        }
        
        public Person() {
            System.out.println("构造方法");
        }
        
        /*
          初始化对象最先执行静态代码块,然后执行匿名代码块,最后执行构造方法。
        */
    }
    
  2. 抽象类:

    • abstract关键字修饰的类。

    • 不能实例化抽象类,只能靠子类去实现!抽象类没有构造方法。

    • 抽象类中可以写普通方法,抽象方法必须在抽象类中。

      public abstract class Action {
          // 抽象方法: 只有方法名,没有方法实现,继承了抽象类的子类必须实现抽象方法
          public abstract void doSomething();
      }
      
  3. 接口:

    • 普通类:只有具体实现。抽象类:具体实现和规范(抽象方法)都有!接口:只有规范!
    • interface关键字修饰的类,接口都需要有实现类。
    • 类可以实现接口: implements 接口,一个类可以实现多个接口。
    • Java利用接口实现(伪)多继承!
;