• Java基础知识篇之类的基本概念


    类的基本概念

    我们暂时将类看作函数的容器,在某些情况下,类也确实只是函数的容器,但类更多表示的是自定义数据类型。

    自定义数据类型的角度介绍类。

    函数容器

    我们看个例子——Java API中的类Math,它里面主要包含了若干数学函数

    要使用这些函数,直接在前面加Math.即可,例如Math.abs(-1)返回1。这些函数都有相同的修饰符:public static。

    static表示类方法,也叫静态方法,与类方法相对的是实例方法。实例方法没有static修饰符,必须通过实例或者对象调用,而类方法可以直接通过类名进行调用,不需要创建实例。public表示这些函数是公开的,可以在任何地方被外部调用。

    Math类的常用函数

    与public相对的是private。如果是private,则表示私有,这个函数只能在同一个类内被别的函数调用,而不能被外部的类调用。在Math类中,有一个函数Random initRNG()就是private的,这个函数被public的方法random()调用以生成随机数,但不能在Math类以外的地方被调用。
    将函数声明为private可以避免该函数被外部类误用,调用者可以清楚地知道哪些函数是可以调用的,哪些是不可以调用的。

    类实现者通过private函数封装和隐藏内部实现细节,而调用者只需要关心public就可以了。可以说,通过private封装和隐藏内部实现细节,避免被误操作,是计算机程序的一种基本思维方式。

    除了Math类,我们再来看一个例子Arrays。Arrays里面包含很多与数组操作相关的函数,表3-2列出了其中一些。

    Arrays类的一些函数

    这里将类看作函数的容器,更多的是从语言实现的角度看,从概念的角度看,Math和Arrays也可以看作自定义数据类型,分别表示数学和数组类型,其中的public static函数可以看作类型能进行的操作。接下来更为详细地讨论自定义数据类型。

    自定义数据类型

    我们将类看作自定义数据类型,所谓自定义数据类型就是除了8种基本类型以外的其他类型,用于表示和处理基本类型以外的其他数据。一个数据类型由其包含的属性以及该类型可以进行的操作组成,属性又可以分为是类型本身具有的属性,还是一个具体实例具有的属性,同样,操作也可以分为是类型本身可以进行的操作,还是一个具体实例可以进行的操作。
    这样,一个数据类型就主要由4部分组成:

    ·类型本身具有的属性,通过类变量体现。

    ·类型本身可以进行的操作,通过类方法体现。

    ·类型实例具有的属性,通过实例变量体现。

    ·类型实例可以进行的操作,通过实例方法体现。

    不过,对于一个具体类型,每一个部分不一定都有,Arrays类就只有类方法。类变量和实例变量都叫成员变量,也就是类的成员,类变量也叫静态变量或静态成员变量 。类方法和实例方法都叫成员方法,也都是类的成员,类方法也叫静态方法 。

    想要了解更多Java基础知识,点击下方链接和小编一起学习java吧,此视频教程为初学者而著,零基础入门篇!

    https://www.bilibili.com/video/BV1e24y1R7n9/?spm_id_from=333.999.0.0&vd_source=a7816e3b2a3a67ac39dc87f6bf92421cicon-default.png?t=M85Bhttps://www.bilibili.com/video/BV1e24y1R7n9/?spm_id_from=333.999.0.0&vd_source=a7816e3b2a3a67ac39dc87f6bf92421c

  • 相关阅读:
    java后端返回数据给前端时去除值为空或NULL的属性、忽略某些属性
    前端用a标签实现静态资源文件(excel/word/pdf)下载
    2.10_python+Django+mysql实现pdf转word项目_项目开发-编写pdf转word函数
    二叉树的建立及线索二叉树
    TypeScript是强类型,静态类型的Java Script
    cks 考试指南
    字段编码法
    企业安全生产双重预防机制的构建和应用
    SparseBEV:High-Performance Sparse 3D Object Detection from Multi-Camera Videos
    javafx开发环境踩坑记录
  • 原文地址:https://blog.csdn.net/m0_72882572/article/details/127091694