网络异常
请检查网络设置后重试
重新加载
Java爱好者交流
5
成员
登录后加入频道即可发帖
0/1000
不选择版块
发表
全部
lin
频道主
2024-10-29
#JAVA
快速理解深拷贝和浅拷贝
浅拷贝:拷⻉对象和原始对象的引⽤类型引用同⼀个对象。
以下例子,Cat对象里面有个Person对象,调用clone之后,克隆对象和原对象的Person引用的是同一个对象,这就是浅拷贝。
深拷贝:拷贝对象和原始对象的引用类型引用不同的对象。
以下例子,在clone函数中不仅调用了
super.clone
,而且调用Person对象的clone方法(Person也要实现Cloneable接口并重写clone方法),从而实现了深拷贝。可以看到,拷贝对象的值不会受到原对象的影响。
点赞
评论
分享
lin
频道主
2024-10-29
#JAVA
什么是泛型
Java泛型是JDK 5中引⼊的⼀个新特性, 允许在定义类和接口的时候使⽤类型参数。声明的类型参数在使⽤时⽤具体的类型来替换。
泛型最⼤的好处是可以提⾼代码的复⽤性。以List接口为例,我们可以将String、 Integer等类型放⼊List中, 如不⽤泛型, 存放String类型要写⼀个List接口, 存放Integer要写另外⼀个List接口, 泛型可以很好的解决这个问题。
1
评论
分享
lin
频道主
2024-10-29
#JAVA
transient关键字的作用
Java语言的关键字,变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。
也就是说被transient修饰的成员变量,在序列化的时候其值会被忽略,在被反序列化后, transient 变量的值被设为初始值, 如 int 型的是 0,对象型的是 null。
点赞
评论
分享
lin
频道主
2024-10-29
#JAVA
Error和Exception的区别
Error:JVM 无法解决的严重问题,如栈溢出StackOverflowError、内存溢出OOM等。程序无法处理的错误。
Exception:其它因编程错误或偶然的外在因素导致的一般性问题。可以在代码中进行处理。如:空指针异常、数组下标越界等。
1
评论
1
lin
频道主
2024-10-29
#JAVA
接口与抽象类区别
1、语法层面上的区别
抽象类可以有方法实现,而接口的方法中只能是抽象方法(Java 8 开始接口方法可以有默认实现);
抽象类中的成员变量可以是各种类型的,接口中的成员变量只能是public static final类型;
接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;
一个类只能继承一个抽象类,而一个类却可以实现多个接口。
2、设计层面上的区别
点赞
评论
分享
公告
暂无公告
直播
暂无直播