匿名对象
只有右边的对象,没有左边的名字和赋值运算符 new 类名称();
注意事项:匿名对象只能使用唯一的一次,下次使用不得不再创建一个新的对象。 如果确定有一个对象只需要使用唯一的一次,就可以使用匿名对象。
package cn.hu.day01.demo05;
public class Person {
public String name;
public void showName(){
System.out.println("我叫:"+name);
}
}
package cn.hu.day01.demo05;
/**
* 匿名对象 只有右边的对象,没有左边的名字和赋值运算符
* new 类名称();
* 注意事项:匿名对象只能使用唯一的一次,下次使用不得不再创建一个新的对象。
* 如果确定有一个对象只需要使用唯一的一次,就可以使用匿名对象。
*/
public class Demo01Anonymous {
public static void main(String[] args) {
//左边的one就是对象名字
Person one=new Person();
one.name="高虎虎";
one.showName();
System.out.println("-----------------------");
//匿名对象
new Person().name="虎虎冲";
new Person().showName();//我叫null
}
}
匿名对象作为方法的参数和返回值
package cn.hu.day01.demo05;
import java.util.Scanner;
public class Demo02Anonymous {
public static void main(String[] args) {
//普通使用方式
// Scanner scanner=new Scanner(System.in);
// int num=scanner.nextInt();
//匿名对象方式
// int num= new Scanner(System.in).nextInt();
// System.out.println("输入的是:"+num);
//使用一般写法传入参数
// Scanner scanner=new Scanner(System.in);
// methodParam(scanner);
//使用匿名对象进行传参
// methodParam(new Scanner(System.in));
Scanner scanner=methodReturn();
}
public static void methodParam(Scanner scanner){
int num = scanner.nextInt();
System.out.println("输入的是:"+num);
}
public static Scanner methodReturn(){
// Scanner scanner=new Scanner(System.in);
// return scanner;
//匿名对象返回
return new Scanner(System.in);
}
}