博客
关于我
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/

    你可能感兴趣的文章
    poj 3468 A Simple Problem with Integers(线段树 插线问线)
    查看>>
    poj 3485 区间选点
    查看>>
    poj 3518 Prime Gap
    查看>>
    poj 3539 Elevator——同余类bfs
    查看>>
    Qt笔记——官方文档全局定义(三)Macros宏
    查看>>
    poj 3628 Bookshelf 2
    查看>>
    Qt笔记——官方文档全局定义(一)Types数据类型
    查看>>
    POJ 3670 DP LIS?
    查看>>
    POJ 3683 Priest John's Busiest Day (算竞进阶习题)
    查看>>
    POJ 3988 Selecting courses
    查看>>
    POJ 4020 NEERC John's inversion 贪心+归并求逆序对
    查看>>
    poj 4044 Score Sequence(暴力)
    查看>>
    POJ 基础数据结构
    查看>>
    POJ 题目3020 Antenna Placement(二分图)
    查看>>
    Poj(1797) Dijkstra对松弛条件的变形
    查看>>
    SpringBoot为什么不需要xml配置文件?
    查看>>
    POJ--2391--Ombrophobic Bovines【分割点+Floyd+Dinic优化+二分法答案】最大网络流量
    查看>>
    Qt笔记——SQLite初探QSqlDatabase QSqlQuery
    查看>>
    POJ-1163-The Triangle
    查看>>
    POJ-Fence Repair 哈夫曼树
    查看>>