Java基础05

static

  • 代码块:

    //代码运行先后顺序:静态代码块 > 匿名代码块 > 构造代码块
    //静态代码块只执行一次
    
    //匿名代码块
    {
        System.out.println("匿名代码块");
    }
    //静态代码块
    static {
        System.out.println("静态代码块");
    }
    //构造代码块
    public Person(){
        System.out.println("构造代码块");
    }
    
  • 静态导入包

    import static java.lang.Math.random;
    
    public class Demo01 {
        public static void main(String[] args) {
            System.out.println(random());
        }
    }
    

抽象类(abstract)

  • abstract 修饰符可以修饰方法也可以修饰类
  • 抽象类中可以没有抽象方法,有抽象方法的类一定要声明为抽象类
  • 抽象类不能使用 new 关键字创建对象,它只能由子类继承
  • 抽象方法只有方法的声明,没有方法的实现,它是让子类实现的
  • 子类继承抽象类时必须实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类

抽象类相当于一个约束,就像一个插线板,只规定了插头的形状并未规定哪种电器

接口

    1. 普通类:只有具体实现
    2. 抽象类:具体实现和规范(抽象方法)都有
    3. 接口:只有规范
  • 作用:

    1. 约束
    2. 定义一些方法,让不同的人实现
    3. 接口中方法默认用 public abstract 修饰,可以不用打出
    4. 接口中常量默认用 public static final 修饰,可以不用打出
    5. 接口不能被实例化
    6. implements 可以实现多个接口
    7. 必须重写接口中的方法

内部类

  1. 成员内部类:在类中再创一个类,通过外部类实例化内部类,能操作私有属性

    public class Demo03 {
        public class Inner{
            
        }
    }
    //实例化内部类
    Demo03 demo03 = new Demo03();
    Demo03.Inner inner = demo03.new Inner();
    
  2. 静态内部类

    public class Demo03 {
        public static class Inner{
            
        }
    }
    
  3. 内部类:一个java类中可以有多个 class 类,但是只能有一个 public class

    public class Demo03 {
    
    }
    class A{
        
    }
    
  4. 局部内部类

    public class Demo03 {
        public void test(){
            class Inner{
                
            }
        }
    }
    
  5. 匿名内部类:没有名字初始化类,不用讲实例保存到变量中

    public class Demo03 {
    
    }
    //匿名内部类
    new Demo03();
    
posted @ 2021-03-10 17:36  %新手上路%  阅读(36)  评论(0)    收藏  举报