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();
}
复制
-
直接赋值
-
针对两个,都相互影响
-
-
浅拷贝
-
针对被拷贝对象,可持续拷贝
-
-
深拷贝
-