Java学习笔记十二:面向对象之static、抽象类、接口、内部类

一、static关键字

1. 静态变量(多线程)
2. 静态方法
3. 静态代码块

用于加载初始化的信息,类加载时就执行,永久只执行一次。
执行顺序:静态方法块(与类一起加载) --> 匿名代码块(赋初始值) --> 构造方法
后续执行时: 匿名代码块 --> 构造方法

4. 静态导入包

import static java.lang.Math.random;

5. 静态类

(待详细了解)

二、抽象类

抽象类特点:

  1. 其本质是一种约束
  2. 抽象类可以有普通方法
  3. 抽象方法必须在抽象类中
  4. 如果子类不是抽象类,那子类必须实现其父抽象类的所有抽象方法
  5. 类单继承,接口多继承
  6. 不能使用new,只能靠子类去实现,可以有构造方法
    (构造方法的作用有两个:一个是初始化变量,另一个是实例化对象。这里可以用于前者)

三、接口

接口特点:

  1. 接口的本质是契约(约束),可定义一些方法让不同人实现
  2. 接口中不可以写普通方法,其所有定义的方法都是public abstract的
  3. 其定义的属性是public static final的
  4. 实现了接口的类,必须重写其所有方法
  5. 可利用接口实现多继承
  6. 接口不能被实例化,无构造方法

四、内部类

  1. 成员内部类
  2. 静态内部类(static修饰)
  3. 局部内部类(在方法中写类)
  4. 匿名内部类
UserService userService = new UserService(){
    @Override
    public void hello() {
        ...
    }
};

interface UserService {
    public void hello();
}

课程:【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩_bilibili

posted @ 2021-10-25 19:03  aguo718  阅读(40)  评论(0编辑  收藏  举报