system.out::print是什么对象
时间: 2024-09-07 19:03:30 浏览: 71
`System.out::println` 是Java 8引入的一种语法糖,它表示 `System.out.println` 这个方法的引用或者叫lambda表达式的一部分。这里的 `::` 符号叫做方法引用,用来简洁地表示特定对象的方法调用。对于 `System.out::println`,它不是一个对象,而是指向 `System.out.println` 方法的一个引用。
当你看到 `System.out::println`,实际上它等同于 `System.out.println()` 的一个引用,允许你在不创建 `PrintStream` 实例的情况下直接调用 `println` 方法,这对于操作标准输出(如控制台)非常有用。比如,在遍历集合时,可以这样使用:
```java
List<String> myList = ...;
myList.forEach(System.out::println); // 直接对每个元素执行 println,无需创建 PrintStream 对象
```
相比之下,如果使用传统方式,你会创建 `PrintStream` 或 `BufferedWriter`,然后写入 `println` 或其他方法:
```java
PrintStream out = new PrintStream(System.out);
out.println("Hello"); // 更繁琐的写法
```
相关问题
System.out::println中::符号有什么用
在Java中,双冒号(::)被称为方法引用(Method Reference)操作符,它是Java 8中引入的一个新特性。在System.out::println这个语法中,::符号用于将方法(这里是println方法)作为参数传递给另一个方法(这里是System.out的print方法)。
更具体地说,System.out::println可以看作是一个Lambda表达式的简写形式,它表示一个函数式接口PrintStream的方法println的实现。这里的::符号用于将这个方法的引用传递给一个接受PrintStream类型对象作为参数的方法,以便在这个对象上调用println方法。
使用方法引用可以使代码更加简洁和易读,尤其是当需要传递一个方法作为参数时。
13、private static void jieMian(){ System.out.println("请选择已下操作"); System.out.print("0:退出\t"); System.out.print("1:增加\t"); System.out.print("2:查询\t"); System.out.print("3:修改\t"); System.out.print("4:删除\n"); } 14、public static void main(String[] args){ System.out.println("欢迎使用学生管理系统"); Student stu = new Student(); Scanner scanner = new Scanner(System.in); while(true){ jieMian(); int a = scanner.nextInt(); switch(a){ case 0: System.exit(0); break; case 1: stu.inputStu(); break; case 2: stu.selectStu(); break; case 3: stu.updateStu(); break; case 4: stu.deleteStu(); break; } } } }
这段代码是一个简单的学生管理系统。在主函数中,首先输出欢迎信息,然后创建了一个名为stu的学生对象和一个Scanner对象。接着进入一个无限循环,每次循环都会调用jieMian()方法输出一个菜单供用户选择操作。根据用户的选择,使用switch语句对stu进行增加、查询、修改或删除操作。如果用户选择0,则调用System.exit(0)退出程序。jieMian()方法就是输出菜单的方法。
阅读全文