• 匿名对象


    (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() ;
    }
    };
  • 相关阅读:
    C#中有关string和byte[]转换的问题
    慎用HyperThreading Technology
    MSN不能登录 解决“0x81000370错误”
    Life Is a Gamble
    Application Wizard生成的项目文件简介
    在Word中如何进行半行输入
    几个有用的短语
    C#学习之接口
    C++中不容易记忆的访问属性问题
    进一步理解VC中的句柄
  • 原文地址:https://www.cnblogs.com/alsf/p/5513570.html
Copyright © 2020-2023  润新知