zoukankan      html  css  js  c++  java
  • 《java入门第一季》之面向对象(匿名对象)

    /*
    	匿名对象:就是没有名字的对象。
    	
    	匿名对象的应用场景:
    		A:调用方法,仅仅只调用一次的时候。
    			注意:调用多次的时候,不适合。
    			      匿名对象调用完毕就是垃圾。可以被垃圾回收器回收,释放了系统资源。
    		B:匿名对象可以作为实际参数传递
    */
    class Student {
    	public void show() {
    		System.out.println("我爱学习");
    	}
    }
    
    class StudentDemo {//如果你看到了一个方法的形式参数是一个类类型(引用类型),这里其实需要的是该类的对象。
    	public void method(Student s) {//调用的时候,把main方法中的s的地址传递到了这里 Student s = new Student();
    		s.show();//new student()的对象s传递过来,Student类的对象s调用show()方法
    	}
    }
    
    class NoNameDemo {
    	public static void main(String[] args) {
    		//带名字的调用
    		Student s = new Student();
    		s.show();//s对象调方法
    		System.out.println("--------------");
    		
    		//匿名对象
    		//new Student();
    		//匿名对象调用方法
    		new Student().show();
    		new Student().show(); //这里其实是重新创建了一个新的对象,两次new就创建了两次对象,而且两个对象的地址值是不同的
    		System.out.println("--------------");
    		
    		
    		//匿名对象作为实际参数传递
    		StudentDemo sd = new StudentDemo();
    		//Student ss = new Student();
    		sd.method(s); //这里的s对象是一个实际参数,没有用到匿名对象作为实际参数传递的情况
    		//匿名对象
    		sd.method(new Student());//sd对象调用该类的mathod方法,匿名对象作为实际参数,作为引用数据类型传递给形式参数。
    		
    		//再来一个
    		new StudentDemo().method(new Student());//与上一行代码的本质是一样的
     	}
    }

  • 相关阅读:
    etcd:从应用场景到实现原理的全方位解读
    open-falcon编写的整个脑洞历程
    开源还是商用?十大云运维监控工具横评
    我的后端开发书架2015 2.0版
    【MDCC 2015】友盟数据平台负责人吴磊:移动大数据平台的架构与实践
    Effective Go
    Airbnb JavaScript Style Guide
    Google HTML/CSS Style Guide
    nservicebus教程-目录
    测试
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299884.html
Copyright © 2011-2022 走看看