zoukankan      html  css  js  c++  java
  • JavaSE-08 封装

    学习要点

    • 封装
    • 访问控制符
    • 包 

    封装

    没有封装的代码有何缺陷?

    例如:对狗狗的健康值赋值为-100。如何避免?——使用封装。

    封装的概念

    将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

     封装的好处

     

     

    封装的步骤

     

     

    上机练习:封装电子宠物系统的Dog类和Penguin类

    需求描述:宠物的健康值必须在0-100之间,超过范围,则默认设置为60。

    类的访问控制

    访问控制符

     

    private

    default

    protected

    public

    同一个类中

    同一个包中

     

    子类中

     

     

    全局范围内

     

     

     

    注意:如果一个java源文件里定义的所有类都没有使用public修饰,则这个java源文件的文件名可以是一切合法的文件名;但是一个java源文件中定义了一个public修饰的类,则这个源文件的文件名必须与public修饰的类的类名相同。

     封装原则

    • 如果一个Java类的每个实例变量都使用private修饰,并且为每个实例变量提供setter和getter方法,那么这个类就符合JavaBean规范的类。
    • 实例变量尽量采用private修饰。类变量(static修饰),类似全局变量的成员变量,可以考试使用public修饰。
    • 如果某个类主要作为父类使用,该类里的方法仅希望被子类重写,而不想被外部直接调用,则考虑使用protected修饰。
    • 有些方法只是作为类的辅助实现方法,也称为工具方法,这些方法是用private修饰。

     

    java包机制

    提供了类的多层命名空间,用于解决类的命名冲突、类文件管理问题。一般把一组功能相同的类放在同一个包下。

    包的命名规则

    包名的所有字母要小写。

    命名规则:倒写的域名.项目名称.模块名称.组件名称

    导入包中的类

    使用一个包中的类,有两种方式:

    第一种:使用类全名

    第二种:在包名之后和类名之前使用import相应类

    导入指定包中某个类的静态成员变量或者成员方法

    import static的用法:

     

    导入静态成员,简化代码书写工作。

     

    上机练习:电子宠物系统包的设计

    Java常用的包

    常用包

    Java的核心类都在java包及其子包下,Java扩展的许多类都放在javax包及其子包下。这些核心类和扩展的类也就是通常所说的API(应用程序接口),通过查询API文档可以获得详细的使用帮助指导。

    • java.lang:该包提供了Java语言进行程序设计的基础类,它是默认导入的包。该包里面的Runnable接口和Object、Math、String、StringBuffer、System、Thread以及Throwable类需要重点掌握。
    • java.util:该包提供了包含集合框架、集合工具类、事件模型、日期和时间实施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。
    • java.io:该包为文件系统、数据流和序列化提供输入与输出相关接口和类。
    • java.NET:该包提供了网络编程相关的类和接口。
    • java.sql:该包提供了使用Java语言进行JDBC数据库编程相关类和接口。
    • java.awt和javax.swing:这两个包提供了GUI设计与开发的类和接口。java.awt包提供了创建界面和绘制图形图像的所有类,而javax.swing包提供了一组“轻量级”的组件,尽量让这些组件在所有平台上的工作方式相同。
    • java.text:该包提供了java文本格式化相关类。

     API文档的使用

    类和封装的总结

    使用面向对象的思想开发程序的好处

    • 客户和软件设计开发人员之间、软件设计开发人员内部交流更加顺畅
    • 提高软件设计和开发效率

    从现实世界抽象出类

    • 找出名词确定类、属性
    • 找出动词确定方法
    • 剔除与业务无关的属性和方法

    方法重载的规则

    •  方法名相同
    • 参数项不同
    • 与访问修饰符和返回值无关

     

    static可以修饰属性、方法、静态块

     

    static、非private修饰

     非static、private修饰

    属性

    类属性、类变量

    实例属性、实例变量

    方法

    类方法

    实例方法

    调用方式

    类名.属性

    类名.方法()

    对象.属性

    对象.方法()

    对象.属性

    对象.方法()

    归属

    单个对象

     

    实现封装的步骤

    • 修改属性的可见性
    • 创建公有的getter/setter方法
    • 在getter/setter方法中加入属性控制语句


    本博客文章未经许可,禁止转载和商业用途!

    如有疑问,请联系: 2083967667@qq.com


  • 相关阅读:
    Python数据分析与爬虫
    Python例题集
    Python知识点复习
    Python内置函数---ord()
    关于Xpath
    初学爬虫(3)
    python操作csv文件
    初学爬虫(二)
    网络爬虫引发的问题及robots协议
    初学爬虫(一)
  • 原文地址:https://www.cnblogs.com/rask/p/8253567.html
Copyright © 2011-2022 走看看