返回顶部

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());
            }
        }
posted @   fuju  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示

目录导航