博客
关于我
Java零基础学习-----面向对象(二)
阅读量:605 次
发布时间:2019-03-12

本文共 1178 字,大约阅读时间需要 3 分钟。

构造方法的概念与使用

构造方法在Java编程中扮演着重要角色,用于初始化对象及成员变量。以下是构造方法的基本概念和使用方法:

构造方法的基本概念

构造方法是通过new关键字创建对象时会自动调用的方法。它的基本语法格式如下:

class 类名 {    class Person {        Person() {            // 构造方法体        }    }}
  • 当一个类没有自定义构造方法时,编译器会自动提供一个无参的空构造方法,称为默认构造方法。
  • 如果类中定义了构造方法,编译器不会提供默认构造方法。

构造方法的作用

使用new关键字创建对象时会自动调用构造方法,负责初始化对象的成员变量。

方法重载的概念和体现形式

方法重载(Overload)是指具有相同名称但参数列表不同的方法。常见的重载形式包括:

  • 参数个数不同
  • 参数类型不同
  • 参数顺序不同
  • 返回值类型不同
  • 方法是否可以构成重载的核心在于调用时是否能区分不同的方法。

    方法重载的意义

    方法重载的意义在于通过记住方法名可以调用不同版本的方法,从而实现不同的功能。例如,PrintStream类中的println方法就提供了多个重载版本。

    this关键字的基本概念

    this关键字在Java中具有重要意义:

    在构造方法中使用this

    • this代表正在构造的对象。
    • 构造方法的第一行可以使用this()来调用本类的其他构造方法。

    在成员方法中使用this

    • this代表当前正在调用的对象。
    • 访问成员变量时,编译器会自动加上this.的前缀(即“我的”)。
    • this关键字作为返回值使用时,返回当前对象的引用。

    this关键字的使用注意事项

  • 在方法体中如果要访问成员变量,需要明确区分成员变量和局部变量。
  • this()只能在构造方法中使用。
  • NullPointerException空指针异常

    NullPointerException的发生情况

    • 当引用类型变量为null时尝试访问它的成员变量或调用方法会引发NullPointerException。

    防御措施

    • 避免直接使用new操作符创建对象。
    • 在必要时使用null检查来避免调用null对象的方法。

    封装的概念和实现

    封装的作用

    • 封装通过私有化成员变量和提供公有访问接口的方式,保护对象的内部细节。
    • 防止不合理的数值赋值和其他不规范操作。

    封装的实现方法

  • 使用private关键字私有化成员变量。
  • 提供getset方法进行合理值控制。
  • JavaBean概念

    JavaBean的定义

    JavaBean是可重用的Java类组件,其标准特征包括:

  • 类是公开的。
  • 提供一个无参的公共构造器。
  • 有属性并提供getset方法。
  • JavaBean的优势

    JavaBean通过反射机制提供了高度的灵活性和可定制性,广泛应用于可视化开发中。

    转载地址:http://eirxz.baihongyu.com/

    你可能感兴趣的文章
    Python - DM 一个用户 Discord 机器人
    查看>>
    python - Flask 基础 - 蓝图( Blueprint )(2)
    查看>>
    python - os.getenv 和 os.environ 看不到我的 bash shell 的环境变量
    查看>>
    Python - while循环
    查看>>
    Python - “if“中的逻辑评估顺序陈述
    查看>>
    Python - 从 Google Cloud Storage 下载整个目录
    查看>>
    Python - 使用 pandas 格式化 Excel 单元格
    查看>>
    python - 列表
    查看>>
    Python - 可用时从串行端口数据逐行读取到列表中
    查看>>
    Python - 在应用程序中显示 Web 浏览器/iframe
    查看>>
    Python - 如何使用管道执行shell命令,但没有‘shell = True‘?
    查看>>
    Python - 如何使这个不可腌制的对象可腌制?
    查看>>
    Python - 如何在 Windows 10 上完全卸载 Anaconda?
    查看>>
    python - 如何并行化python numpy中的总和计算?
    查看>>
    Python - 如何解析 xml 响应并将元素值存储在变量中?
    查看>>
    Python - 安装了扩展的远程 Webdriver
    查看>>
    python - 将字符串中的日期与今天的日期进行比较
    查看>>
    python - 数据描述符(class 内置 get/set/delete方法 )
    查看>>
    Python - 根据值绘制彩色网格
    查看>>
    Python - 正则表达式在括号之间获取数字
    查看>>