码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java学习Day028(封装和包,关键字)


    目录

    一.封装

    1.1封装的概念

    1.2封装实现的步骤

    1.3封装的好处

    二.包

    2.1包的作用

    2.2包命名规范

    2.3使用包的注意事项

    三.访问权限控制

    四.static关键字的作用


    一.封装

    1.1封装的概念

       封装就是将类中尽可能多的属性和方法隐藏其来,
        不让外部程序直接访问,而是通过提供的公共方法间接访问

    1.2封装实现的步骤

       1)使用private修饰属性和方法
        2)提供公共的getXxx()/setXxx()方法
        3)在getXxx()/setXxx()方法内对数据进行判断

    1.3封装的好处

       1)便于使用者正确使用系统,防止错误修改属性
        2)有助于系统之间的松耦合,提高系统独立性
        3)提高软件的可重用性
        4)降低了构建大型系统的风险

    二.包

    2.1包的作用

       1)有助于实施访问权限控制
        2)防止命名冲突区分名字相同的类
        3)允许类组成较小的单元(类似文件夹),易于找到和使用相应的文件

    2.2包命名规范

        1)包名由小写字母组成,不能以圆点开头或结尾

        2)包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名

        3)包名后续部分依不同机构内部的规范不同而不同 

    2.3使用包的注意事项

        1)一个类同时引用了两个来自不同包的同名类
            必须通过完整类名来区分
        2)每个包都是独立的,顶层包不会包含子包的类
        3)package和import的顺序是固定的

    三.访问权限控制


                    同一个类中        同一个包中        子类中        任何地方
        public        可以            可以            可以            可以
        protected        可以            可以            可以            不可以
        默认修饰符        可以            可以            不可以        不可以
        private        可以             不可以        不可以        不可以
        

    四.static关键字的作用


        static代码块:与类异同加载,有多个代码块时按照顺序从上往下依次加载
        static变量:静态变量,属于类的,可以直接通过类名调用,多个对象公用一个静态变量
        static方法:静态方法,属于类的,可以直接通过类名调用。静态方法内可以访问静态方法、静态变量,不能访问非静态方法、非静态变量

  • 相关阅读:
    Spark简介
    二分查找——704. 二分查找
    美国玩具标准发布了更新版本ASTM F963-23要求
    【华为OD机试真题 python】 太阳能板最大面积【2022 Q4 | 100分】
    element ui多选框(Checkbox 多选框、Select多选框)编辑时无法选中的解决办法
    RISC-V选项
    怎么更改文件创建日期?
    python实战故障诊断之CWRU数据集(三):信号预白化处理-倒谱预白化(CEP pre-whitening)
    使用Tomcat部署SpringBoot项目
    【华为OD机试真题 python】Directory 删除【2022 Q4 | 200分】
  • 原文地址:https://blog.csdn.net/SSSS__AS/article/details/126331780
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号