java面向对象之匿名对象

匿名对象概念

     没有引用类型变量指向的对象称作为匿名对象。

匿名对象有什么好处:

   1、可以简化书写

   2、可以快速释放内存

匿名对象的使用场景:

   1. 如果一个对象需要调用一个方法一次的时候,而调用完这个方法之后,该对象就不再使用了,这时候可以使用匿名对象

   2. 可以作为实参调用一个函数。

举例:

class Student{

  int num;               //定义一个成员变量:学号

  String name;       //定义一个成员变量:名字

  int score;

  public void study(){
    System.out.println("好好学习,为将来称为高帅富做准备!");
  }
}

class Teacher{

  int num;

  String name;

  String office;

  public void teach(Student s){

    if(s.score<60){

      System.out.println("放学留下补课");

    }else{

      System.out.println("成绩不错,加油!!");

    }

}

}

class School{  

       public static void main(String[] args) 

  {

    //场景一:如果一个对象需要调用一个方法一次的时候,而调用完这个方法之后,该对象就不再使用了,这时候可以使用匿名对象
    //创建一个学生对象,正常创建对象写法
    Student s = new Student();

    s.name = "狗娃"

     //匿名对象写法
    new Student().name = "狗娃";     

    System.out.println(new Student() == new Student()) ; // "==" 用于引用类型变量时,比较的是内存地址。判断两个 对象是否为同一个对象

    //场景2:可以作为实参调用一个函数

    //正常创建对象写法
    Student s = new Student();

    Teacher t = new Teacher();

    t.teach(c)

    //使用匿名对象调用

    t.teach(new Student());

  }

posted @ 2020-03-31 21:57  柚子李子  阅读(211)  评论(0编辑  收藏  举报