zoukankan      html  css  js  c++  java
  • 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

    步履不停
  • 相关阅读:
    几道cf水题
    cf水题
    一道cf水题
    c++list用法
    c++map用法
    c++ vector常见用法
    c++string,常见用法总结
    复变函数考试后的反思
    [FZYZOJ 1204] 零和问题
    [FZYZOJ 1202] 金坷垃
  • 原文地址:https://www.cnblogs.com/yuanyunjing/p/15460010.html
Copyright © 2011-2022 走看看