一.面向对象核心概念
1. 类与对象
类:模板/蓝图,描述一类事物的共同特征(属性)和行为(方法)。
对象:根据类创建的具体实例。
类的组成:
成员变量(属性):描述类的状态(如颜色、品牌、容量)。
成员方法:描述类的行为(如登录、注册、展示新闻)。
2. 封装(Encapsulation)
将属性私有化(private),通过公共的 getter/setter 方法访问。
优点:保护数据安全、控制访问权限、便于维护。
示例(User类):
java
public class User {
private String username;
private String password;
public String getUserName() { return username; }
public void setUserName(String username) { this.username = username; }
}
3. 构造方法
与类同名,无返回值。
无参构造:用于创建默认对象。
有参构造:在创建对象时初始化属性。
java
public User(String username, String password) {
this.username = username;
this.password = password;
}
4. ArrayList(集合)
用于动态存储对象,适合微头条中存储多个用户或多个新闻。
java
ArrayList
userList.add(new User("Tom", "123"));
二.微头条示例代码解析
1.News 类(新闻)
属性:title, content, publishTime
构造方法中自动生成发布时间:
java
this.publishTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
提供 getTitle() 和 getPublishTime() 方法。
2.User 类(用户)
属性:username, password
提供 getter/setter 方法。
典型应用场景(注册+登录)
注册:
输入用户名、密码
创建 User 对象
存入 ArrayList
登录:
遍历 ArrayList
校验用户名和密码是否匹配
三.代码分析

1.Main.java(主程序)
├── 静态集合(模拟数据库)
│ ├── userList:存储所有注册用户
│ ├── newsList:存储所有新闻
│ └── currentUser:记录当前登录用户
├── main():主菜单循环
└── 5个功能方法
├── register():注册
├── login():登录
├── publishNews():发布新闻
└── showNewsList():查看新闻列表
2.关键代码片段总结
| 功能 | 核心代码 |
|---|---|
| 遍历判断用户名是否存在 | for (User u : userList) |
| 注册添加用户 | userList.add(new User(name, pwd)) |
| 登录验证 | u.getUserName().equals(name) && u.getPassword().equals(pwd) |
| 登录状态保持 | currentUser = u |
| 登录状态判断 | if (currentUser == null) |
| 发布新闻 | newsList.add(new News(title, content)) |
| 遍历新闻 | for (int i = 0; i < newsList.size(); i++) |
3.知识点回顾
ArrayList:动态存储多个对象
封装:通过 getUserName() / getPassword() 访问私有属性
static:类级别共享数据
面向对象:User 和 News 是两个独立的类
构造方法:new User(name, pwd)、new News(title, content)
四.小结
概念 作用 示例
类 定义模板 class User
对象 具体实例 new User()
封装 保护数据 private + getter/setter
构造方法 初始化对象 public User(...)
ArrayList 存储多个对象 ArrayList
