4.25 Java知识点
抽象类:
特点:
1.抽象类中可以构造方法
2.抽象类中可以存在普通属性,方法,静态属性和方法
3.抽象类中可以存在抽象方法
4.如果一个类中有抽象方法,那么当前类一定是抽象类;抽象类中不一定有抽象方法
5.抽象类中的抽象方法,需要有子类实现,如果子类不实现,则子类也需要定义为抽象的
接口:
1.在接口中只有方法的声明,没有方法体
2.在接口中只有常量,因为定义的变量,在编译的时候都会默认加上public static final
3.在 接口中的方法,永远都被public修饰
4.接口中没有构造方法,也不能实例化接口的对象
5.接口可以实现多继承
6.接口中定义的方法都需要有实现类来实现,如果实现类不能实现接口中的所有方法则实现类定义为抽象类
java8以后接口可以有默认方法,静态方法,接口中的方法可以有方法体
构造对象的四种方式:
1.new对象
2.通过反射。 如果使用默认无参构造器,则直接获取class对象后,使用newInstance方法。 如使用有参构造,则需要获取对应的构造器,然后通过newInstance获取对象
3.采用clone机制。
4.序列化:可以通过实现Externalizable或者Serializable来实现
浅拷贝:在拷贝一个对象时,对对象的基本数据类型的成员变量进行拷贝,但对引用类型的成员变量只进行引用的传递,并没有创建一个新的对象,当对引用类型的内容修改会影响被拷贝的对象。
深拷贝:在拷贝一个对象时,除了对基本数据类型的成员变量进行拷贝,对引用类型的成员变量进行拷贝时,创建一个新的对象来保存引用类型的成员变量。
浅拷贝:
java中从Object中继承过来的clone方法默认实现是一个浅拷贝,引用类型依然在传递引用
深拷贝
实现深拷贝有两种方法:
(1)序列化该对象,然后反序列化回来,就能得到一个新的对象了。
序列化:将对象写入到IO流中; 反序列化:从IO流中恢复对象 序列化机制允许将实现序列化的java对象转化为字节序列,这些字节序列可以保存到磁盘或者网络传输上,以达到以后恢复成原来的对象,序列化机制使得对象可以脱离程序的运行而独立存在。
(2)继续利用clone()方法,对该对象的引用类型再实现一次clone方法

浙公网安备 33010602011771号