特征

  • 封装
  • 继承
  • 多态

    面向对象

    通过对象的方式,把现实世界映射到计算机模型。人->Person类,学生->Student类
    重载:overload;功能相似的方法使用相同的名字,参数不同。
    继承:代码可复用,单继承,向上转型,向下转型,子类和父类关系是is,has关系为组合。
    多态:override;在继承关系中,子类如果定义了一个与父类方法签名完全相同的方法,被称为覆写(Override)。针对某个类型的方法调用,真正执行的方法取决于运行时期实际类型的方法。
    抽象:父类只定义方法签名,子类去覆写,则可以把父类的方法声明为抽象方法、类声明为抽象类;抽象类只能用于被继承,因此可以强迫子类实现抽象方法。

Java异常

Throwable 是 Java 语言中所有错误或异常的超类,下一层分为 Error 和 Exception

Error:Java运行时,系统的内部错误和资源耗尽错误。
Exception:

  • RuntimeException:Java虚拟机正常运行期间抛出的异常的超类
  • CheckedException:发生在编译阶段,一般是外部错误

    异常的处理方式

  • 抛出异常:throw、throws

  • 捕获异常:try…catch…finally

    Java反射

    在运行状态中,对于任意一个类都能知道这个类所有的属性和方法;
    并且对于任意一个对象,都能调用它的任意一个方法。

  • 获取Class对象

  • 创建对象

    Java注解

    Annotation(注解)是一个接口

    元注解

    加在注解上的注解

  • @Documented

  • @Target
  • @Retention
  • @Inherited
  • @Repetable
  • @Native

    自定义注解

    属性的数据类型

  • 8种基本数据类型

  • String
  • 枚举
  • Class
  • 注解类型
  • 以上类型的一维数组

    Java内部类

  • 静态内部类:类内部的静态类;和外部类关系密切,且不依赖外部类实例

  • 成员内部类:类内部的非静态类;
  • 局部内部类:定义在方法中的类;
  • 匿名内部类:直接使用new来生成一个对象的引用;

    Java泛型

    T、?、类型擦除
    语法糖

    Java序列化

    创建可复用的Java对象,持久化对象及其状态到内存或者磁盘
    Transient关键字阻止该变量被持久化到文件中

    Java复制

  • 直接赋值

  • 浅拷贝
  • 深拷贝

    Java集合

    多线程