- 什么是匿名对象
没有对象名接收的对象,我们称为匿名对象
- 匿名对象的使用方法(匿名对象只能使用一次)
(1)匿名对象直接调用成员方法
(2)匿名对象直接当做方法参数传递
(3)匿名对象直接当做返回值
public class Test01 {public static void main(String[] args) {//1.直接调用方法new Student().show();//2.做为方法的参数传递userStudent(new Student());}public static void userStudent(Student s){}//方法的返回值类型是一个类,那么此方法需要返回此类的对象public static Student getStudent(){//3.作为方法的返回值return new Student();}}class Student{public void show(){System.out.println("Student类中的show方法执行了");}}
- 代码实践:注册案例
package com.itheima.anonymous;
/需求 : 1 创建用户(User)对象 , 对象数据采用键盘录入而来
2 用户(User)包含的属性 :
用户名 (username)
手机号码 (phonNumber)
登录密码 (password)
确认密码 (confirm)
电子邮箱 (email)
性别 (sex)
出生日期 (birthday)
3 如果登录密码和确认密码不一致 , 重新输入
4 把用户(User)对象 ,添加到ArrayList集合中 , 打印集合对象即可 /
import java.util.ArrayList;import java.util.Scanner;public class Test02 {public static void main(String[] args) {//键盘录入Scanner sc = new Scanner(System.in);//创建集合对象ArrayList<User> list = new ArrayList<>();for (int i = 1; i <= 3; i++) {System.out.println("请输入第" + i + "个用户的用户名");String name = sc.nextLine();System.out.println("请输入第" + i + "个用户的登录密码");String password = sc.nextLine();System.out.println("请确认第" + i + "个用户的登录密码");String confirm = sc.nextLine();//比较登录密码和确认密码是否相同if (password.equals(confirm)) {//创建用户对象User user = new User(name, password, confirm);//把用户对象添加到集合中list.add(user);System.out.println("登录成功");} else {System.out.println("输入信息错误!");i--;}}}}
用户类
package com.itheima.anonymous;public class User {private String username;private String password;private String confirm;public User() {}public User(String username, String password, String confirm) {this.username = username;this.password = password;this.confirm = confirm;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getConfirm() {return confirm;}public void setConfirm(String confirm) {this.confirm = confirm;}}
