匿名对象
package demo6;
public class Test {
public void func(){
System.out.println("func()");
}
public static void main(String[] args) {
//只实例化了一个Test对象
Test test=new Test();
test.func();
test.func();
//实例化了两个test对象,如果以后的场景是使用一次对象,那么使用匿名对象。
new Test().func();
new Test().func();
}
}
compareTo关键字
String str1="zhangsan";
String str2="lisi";
if(str1.compareTo(str2)>0){
System.out.println("str1>str2");
}else{
System.out.println("str1<=str2");
}
Clonable 接口和深拷贝
Java中内置了一些很有用的接口,Cloneable就是其中之一。
Object 类中存在一个clone方法,调用这个方法可以创建一个对象的“拷贝”,但是要想合法调用clone方法,必须要先实现Cloneable接口,否则就会抛出CloneNotSupportedExcption异常。
package demoInterFace;
class Person implements Cloneable{
//Cloneable是空接口/标记接口,如果一个类实现了这个空接口/标记接口,那么证明当前类是可以被克隆的
public String name;
public Person(String name) {
this.name = name;
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
public class Test {
public static void main(String[] args) throws CloneNotSupportedException{
Person person1=new Person("zhangsan");
//通过person这个引用来clone一个对象
Person person2=(Person) person1.clone();
System.out.println(person2.name);
}
}