java高级特性学习笔记

hasCode();在Object类中,因此每个对象都有一串散列码,表示存储的地址

class Person{

private String name;

private int age;

private  int score;

person(String name,int age,int score){

this.name=name;

this.age=age;

this.score=score;


}

public String toString(){

return this.age+this.name;

}

public boolean equals(Object obj){

return false;}

public int hashCode(){

return this,name.hashCode()+100;

}}

public class{

public static void main(String args[]){

Map m=new HashMap();

m.put(new Person("张三",10),"张三 ");

System.out.println(m.get(new Person("张三",10)));}}

对象克隆:

在Person类中必须实现Clonable接口,在类中复写clone()方法。

public Object clone(){

return super.clone();

}

main()中:

Person  p=new Person("张三",20);

Person p1=(Person)p.clone;

____________________________________________________________________________________________________________________________________

比较器:Arrays()方法

对数组进行排序:Arrays.sort(i);

对象数组中的对象类必须实现Comparable接口,复写comparaTo()方法

让分数高-------》低

分数相同,则年龄----------------》低

public int compareTo(Object obj){

Person p=(Person)obj;

if(p.score>this.score)

return1;

else if(p.score<this.score){

return -1;}

else{if(p.age>pthis.age)

return1;

else if(p.age<this.age)

return -1;

else 

return 0;}

}

Class类:

由对象得到他的类:

Person p=new Person();

p.getClass().getName();

由一个字符串的到一个类:

class c=Class.forName("Person");

Person p=(Person)c.newInstance();//实例化对象

但Person有构造方法。

Constructor c1=c.getConstructors()[0];

Object obj[]={"张三”,(integer)20};


Person p=(Person)c1.newInstance(obj)


猜你喜欢

转载自blog.csdn.net/shiyueyue0822/article/details/50878830