2025年Java匿名对象代码示例

Java匿名对象代码示例1 概念 一般地 我们在使用对象前 需要去声明并创建一个对象 此时我们会给对象一个对象名 以便我们在程序中通过对象名多次使用该对象 而今天我们讲的匿名对象则不同 我们不会给它命对象名 而是在使用它的时候直接以 new 构造方法 的形式直接创建并初始化这个对象

大家好,我是讯享网,很高兴认识大家。

1.概念

  一般地,我们在使用对象前,需要去声明并创建一个对象,此时我们会给对象一个对象名,以便我们在程序中通过对象名多次使用该对象。

而今天我们讲的匿名对象则不同,我们不会给它命对象名,而是在使用它的时候直接以 (new + 构造方法) 的形式直接创建并初始化这个对象,不用给它命名,并且它在使用完后,会被直接销毁,所以是一次性的,无法重复使用该对象。

  我们可以用匿名对象做参数,也可以用匿名对象调用方法。

2.代码示例

我们先创建一个学生类


讯享网

class Student { private final int id; private final String name; public Student( int id, String name) { this.name =name; this.id = id; } @Override public String toString() { return "Student{" + "id=" + id + ", name='" + name + '\'' + '}'; } public void My_print1() { System.out.println("目前有100个学生"); } public void My_print2(Student a) { System.out.println("学生学号为:" + a.id); System.out.println("学生姓名为:" + a.name); } }

讯享网

  我们有两个私有变量 id 和 name,通过构造方法 Student() 去给它们初始化,用 toString()方法去返回有关学生信息的字符串,My_print1()方法用于输出学生人数,My_print2()用于输出学生的信息。

讯享网public class Main { public static void main(String[] args) { // 用创建一个对象的方式输出学生信息 Student A = new Student( 2023, "Alice"); System.out.println(A); // 创建一个匿名对象输出学生信息 System.out.println( new Student(2024, "Tom")); // 创建一个匿名对象并直接调用方法 new Student( 0, "").My_print1(); // 创建一个匿名对象作为参数 new Student(0,"").My_print2(new Student(1000, "LiLi")); } }

 在主函数中,我们可以清晰的看到匿名对象和普通对象的区别,普通对象需要声明和命名,而匿名对象则直接创建及初始化即可。

  在我们要需要调用学生类里面的方法时,我们可以直接通过创建一个匿名对象去调用,这样就不用去声明一个新的对象了,避免了对象名的繁琐,可以让我们的代码更加清晰易懂。

3.代码综合

public class Main { public static void main(String[] args) { // 用创建一个对象的方式输出学生信息 Student A = new Student( 2023, "Alice"); System.out.println(A); // 创建一个匿名对象输出学生信息 System.out.println( new Student(2024, "Tom")); // 创建一个匿名对象并直接调用方法 new Student( 0, "").My_print1(); // 创建一个匿名对象作为参数 new Student(0,"").My_print2(new Student(1000, "LiLi")); } } class Student { private final int id; private final String name; public Student( int id, String name) { this.name =name; this.id = id; } @Override public String toString() { return "Student{" + "id=" + id + ", name='" + name + '\'' + '}'; } public void My_print1() { System.out.println("目前有100个学生"); } public void My_print2(Student a) { System.out.println("学生学号为:" + a.id); System.out.println("学生姓名为:" + a.name); } }

小讯
上一篇 2025-03-07 22:14
下一篇 2025-03-08 16:52

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/27565.html