Java中的匿名对象

1. 什么是匿名对象?

所谓匿名对象就是没有名称的对象;

2. 匿名对象有哪些常见的用法?

  • 匿名对象可以作为实际参数传递给函数;
  • 可以直接通过匿名对象调用该对象的方法;

3. 匿名对象的具体使用方式

class Student {
        //成员变量
        private String name;
        private int age;
        
        //构造方法
        public Student(){}
        
        //成员方法
        public void setName(String name) {
                this.name = name;
        }
        
        public String getName() {
                return name;
        }
        
        public void setAge(int age) {
                this.age = age;
        }
        
        public int getAge() {
                return age;
        }
        
        void show() {
                System.out.println("该学生的姓名为:" + name);
                System.out.println("该学生的年龄为:" + age);
        }
        
}

class studentTest {
        //函数的形式参数为引用类型,我们需要传递对象
 public void function(Student s) {
                System.out.println("我爱学习,学习爱我!");
        }
}

class noNameDemo {
        public static void main(String args[]) {
                //通过匿名对象调用方法
                new Student().show();
                //new一个studentDemo的测试类
                studentTest sd = new studentTest();
                //将匿名对象传递给对象sd的function方法,来调用
                sd.function(new Student());
                
                //还可以通过这种方式来调用function方法
                new studentTest().function(new Student());
        }
        
}