匿名对象

(1)匿名对象分析:
普通申明一个对象是这样的
A a = new A();
那么这个时候a就是类A的一个对象,这个对象名字就是a
再来看下面一个例子:
method(A a);
整理method是一个方法,他需要传递一个对象来作为参数,那么这个时候有2种方法:
方法1:
A a =new A();
method (a);
方法2:
method (new A());
(2)匿名对象详细:
1,所谓的匿名对象就是比之前的对象少一个栈内存的引用关系。
2,只使用一次的对象,称为匿名对象。
3,匿名对象只在堆内存中开辟空间,而不在栈空间中开辟空间。(声明的对象在栈内存中开辟空间)
例子2:
class Person{
private String name ;
private int age ;
public Person(String n,int a){    // 声明构造方法,为类中的属性初始化
this.setName(n) ;
this.setAge(a) ;
}
public void setName(String n){
name = n ;
}
public void setAge(int a){
if(a>0&&a<150){
age = a ;
}
}
public String getName(){
return name ;
}
public int getAge(){
return age ;
}
public void tell(){
System.out.println("姓名:" + this.getName() + ";年龄:" + this.getAge()) ;
}
};
public class NonameDemo01{
public static void main(String args[]){
new Person("张三",30).tell() ;//这里通过一个new类(),事实上也实现了一个分配堆内存的操作,实现了一个匿名对象的分配。

//new Person("张三",30).tell() 的功能等于Person p=new Person("张三",30).tell() ;
}
};

 

posted @ 2016-05-20 22:12  美好的明天  阅读(277)  评论(0编辑  收藏  举报