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方法

posted @ 2022-04-25 13:47  sky_code  阅读(15)  评论(0)    收藏  举报