当前位置: 首页 > article >正文

Java入门10——封装(private)

小伙伴们大家好哇!今天我们要学习封装~

话不多说,开始今天的正题~


1.为什么要封装

这个其实是因为当我们在写一个类的时候,这个类里面的东西你不想让人修改,这个时候,就提到了封装这个属性

2.通过关键字private实现封装

我们以Dog1,Dog2两个类举例,第一遍用public,第二遍用private

如下为public的使用:

public class Dog2 {
    public String name;
    public int age;
}
public class Dog1 {
    public static void main(String[] args) {
        Dog2 dog = new Dog2();
        dog.name = "wangwang";
        dog.age = 18;
        System.out.println(dog.name);
        System.out.println(dog.age);
    }
}

这个时候,我们运行一下,发现是完全可以的,运行结果如下:

那么我们再试试private:

public class Dog2 {
    private String name;
    private int age;
}
public class Dog1 {
    public static void main(String[] args) {
        Dog2 dog = new Dog2();
        dog.name = "wangwang";
        dog.age = 18;
        System.out.println(dog.name);
        System.out.println(dog.age);
    }
}

我们再来运行一下,运行结果如下:

 我们发现,这里就报错了,那么我们怎么如果就是想引用怎么办呢?

很简单,这个时候我们就想到了 set 和 get 方法

3.get 和 set 方法

public class Dog2 {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
public class Dog1 {
    public static void main(String[] args) {
        Dog2 dog = new Dog2();
        dog.setName("wangwang");
        dog.setAge(18);
        System.out.println(dog.getName());
        System.out.println(dog.getAge());
    }
}

这个时候我们再来运行一下,运行结果如下:

我们就又可以给狗命名和定义年龄了~


今天的内容就到这里啦,很简单的一个小知识点~

自己下来要敲一下代码哦~~~


http://www.kler.cn/a/378057.html

相关文章:

  • Docker 镜像加速访问方案
  • 理解并使用 Linux 内核的字符设备
  • 五、Swagger 介绍(Flask+Flasgger的应用)
  • RPA系列-uipath 学习笔记3
  • 极狐GitLab 17.7正式发布,可从 GitLab 丝滑迁移至极狐GitLab【一】
  • React Native 集成原生Android功能
  • 【Linux】--- 开发工具篇:yum、vim、gcc、g++、gdb、make、makefile
  • 萤石私有化设备视频平台EasyCVR视频融合平台如何构建农业综合监控监管系统?
  • 面试题整理 4
  • 阿里云docker安装禅道记录
  • TCP三次握手,四次挥手,以及11种状态详解
  • Oracle 第17章:数据字典与视图
  • python的数据结构列表方法及扩展(栈和队列)
  • InstructIR: High-Quality Image Restoration Following Human Instructions 论文阅读笔记
  • IDEA 好用的插件分享
  • Blender进阶:贴图与UV
  • 【C++篇】跨越有限与无限的边界:STL之set容器中的自我秩序与无限可能
  • 【踩坑】修复高版本dgl中distributed.load_partition不返回orig_id问题
  • nodejs入门教程19:nodejs dns模块
  • 第三百零五节 Log4j教程 - Log4j日志记录方法
  • Excel常用函数与操作
  • ArcGIS软件之“新建中学最适合地址”地图制作
  • 十款思维导图软件推荐,有适合你的一款!!!
  • JavaScript的第十二天
  • 使用PostgreSQL进行高效数据管理
  • python爬虫获取数据后的数据提取