博客
关于我
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读取一个文件夹下所有图片_初学Python-找出文件夹下的所有图片
    查看>>
    Python 中 3 个不可思议的返回功能
    查看>>
    python 中 dict 的另一种用法
    查看>>
    Python 中 PIL 读取图片出现异常旋转的解决方法
    查看>>
    python读取word表格内容(1)
    查看>>
    python 中os.path.join 双斜杠的解决办法
    查看>>
    python 中PIL.Image和OpenCV图像格式相互转换
    查看>>
    Python 中Semaphore 信号量对象、Event事件、Condition
    查看>>
    python 中with的使用及样例
    查看>>
    python读取wav文件并播放[pyaudio/wave]
    查看>>
    python读取txt文件的行数
    查看>>
    Python 中内置的最大堆 API
    查看>>
    Python 中只有一个 True 和一个 False 对象吗?
    查看>>
    python读取mtcars数据集并实现以下操作_关于数据处理。。,Python交流,技术交流区,鱼C论坛 - Powered by Discuz!...
    查看>>
    Python 中多线程与多处理之间的区别
    查看>>
    Python 中如何使用 lambda 函数
    查看>>
    Python 中如何创建多行字符串?
    查看>>
    Python 中如何处理异常?
    查看>>
    Python 中如何实现列表的切片?
    查看>>
    Python 中如何实现字典的排序?
    查看>>