java面向对象-封装
1.1 封装的概念
将类的某些信息隐藏在类内部, 不允许外部程序直接访问, 而是通过该类提供的方法来实现对隐藏信息的操作和访问
1.2 封装的步骤
-
私有化(private)
-
是一个权限修饰符。
可以修饰成员(成员变量和成员方法)
被private修饰的成员只在本类中才能访问
-
private String name;
private int age;
private String gender;
private String addr;
-
提供getter和setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
-
在getter和setter方法中, 添加判断语句
public int getAge() {
return age;
}
public void setAge(int age) {
if (age < 0 || age > 1000){
age = 0;
}
this.age = age;
}
1.3 封装的好处
便于使用者正确使用系统,防止错误修改属性
有助于系统之间的松耦合,提高系统独立性
提高软件的可重用性
降低了构建大型系统的风险
二 对象数组的使用
// 创建对象数组
User[] u1 = new User[]{
new User("jack",19,"jack@163.com"),
new User("lily",20,"lily@163.com"),
new User("rose",10001,"rose@163.com"),
new User("lucy",1,"lucy@163.com"),
new User("tom1",99,"tom1@163.com"),
};
// 删除lucy
String searchName = "lucy";
// 定义下标 -1
int index = -1;
// 循环数组获得lucy下标
for (int i = 0; i < u1.length; i++) {
if (u1[i] != null && searchName.equals(u1[i].getUserName()) ){
index = i;
break;
}
}
System.out.println(index);
// 删除lucy
u1[index] = null;
for (int i = 0; i < u1.length; i++) {
if (u1[i] != null){
System.out.println(u1[i].getUserName() + "\t" + u1[i].getAge());
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通