JAVA基础(异常、反射、注解、内部类、泛型、序列化、复制)

Java基础

异常分类
  • error exception

  • throw throws

反射
  • 获取class对象

    • 类名.class 对象.getClass Class.forName("类的全限定名")

  • 创建对象

    • new

    • Class<> myClass = MyClass.class;

      Constructor<?> defaultConstructor = myClass.getDeclaredConstructor();

      MyClass obj1 = (MyClass) defaultConstructor.newInstance();

注解
  • @Target(目标元素类型。)

  • @Retention(SOURCE:在源文件中有效;CLASS:在 class 文件中有效;RUNTIME:在运行时有效)

  • @Document(注解包含在 Javadoc 文档中)

  • @Inherited(注解是否可以被子类继承。)

内部类(一从外到里,静态->非静态)
  • 静态内部类(访问外部静态,定义静态)

  • 成员内部类(访问外部所有,不能定义静态)

  • 局部内部类(局部使用,访问外部所有)

  • 匿名内部类(直接new 不命名)

泛型
  • 泛型方法

    • public static <T> void printDetails(T object) {}

  • 泛型类

    • public class Box<T,A> {}

序列化
//序列化
try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
  ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream)) {

  objectOutputStream.writeObject(person);

  byte[] bytes = byteArrayOutputStream.toByteArray();
  }
  //反序列化
  try (ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(serializedBytes);
      ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream)) {

          Person person = (Person) objectInputStream.readObject();
  }
复制
  • 直接赋值

    • 针对两个,都相互影响

  • 浅拷贝

    • 针对被拷贝对象,可持续拷贝

  • 深拷贝

    • 针对被拷贝对象,一次性拷贝

posted on 2023-09-23 23:27  吴XX  阅读(9)  评论(0编辑  收藏  举报