- 什么是匿名对象
没有对象名接收的对象,我们称为匿名对象
- 匿名对象的使用方法(匿名对象只能使用一次)
(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;
}
}