一 封装(面向对象的三大特征--封装)
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,"[email protected]"),
new User("lily",20,"[email protected]"),
new User("rose",10001,"[email protected]"),
new User("lucy",1,"[email protected]"),
new User("tom1",99,"[email protected]"),
};
// 删除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());
}
}
标签:java,age,u1,lucy,private,面向对象,User,new,封装
From: https://www.cnblogs.com/jupeng/p/18256102