• JAVA-初步认识-第七章-面向对象-构造函数-概述


    一. 构造函数

    (描述类中,有许多构造函数,其函数名和描述类的类名是一致的,但是创建类的类名就比较多样了。)

    构造函数也属于面向对象中的一个小知识点。构造一词没见过,但是函数我们是清楚地。这说明,构造函数知识点中,

    重点集中在“构造”上。虽然重点在构造上,但是其本质还是函数。单独分出一类,自然是起到的作用稍有不同

    现在介绍的另外一种函数,叫做构造函数。有什么特点(特点换个词怎么说),怎么用,格式是什么样的。(对于java中每个知识点的学习方法,要进行一个整理)

    之前在学习函数时,我们说函数有返回值类型,函数名,参数列表(这是函数的核心)这三样东西。同时,函数中又分出一个特殊的种类,主函数。它的定义格式,和名称都是不能变的。它是被java虚拟机所识别的,写成别的形式,jvm就无法识别。那么,构造函数又有什么特点。

    一般函数,主函数,构造函数。

    构造函数的核心在函数,函数的核心在返回类型,函数名和参数列表

    二.

    为什么要学习构造函数和构造函数用来做什么是一个东西,正反说。

    构造函数的特点:

    1. 函数名和类名相同。(特点也代表着书写格式)  为什么要相同?

    2. 不用定义返回值类型。

    意味着这个函数没有返回值,但凡有值回来,必须用一种类型来存储。一种类型来存储,使人联想到,类型某种意义上来说,

    代表着所占内存空间的大小。有类型,自然表示有固定大小的内存空间,可以用来存储一些数据。

    之前介绍的无论是功能化的函数,还是主函数,返回值类型都是存在的。即使没有返回值,返回值类型也是有的。主函数的返回值类型

    是void类型。

    构造函数没有返回值类型,意味着这个函数没有具体结果的。函数是个功能,功能运算完通常会有结果。构造函数没有结果,也就说明没有返回值。

    稍微介绍一下构造函数怎么书写。

    功能它有特点,除了结果以外,它还有未知内容,换句话说,这个功能在实行的时候,有没有一些参与运算的数据,就是参数。

    Person(),变量和函数的最大特征就是,一个有(),一个没有()。

    此处的构造函数是空参数的,定义中只是要求了没有返回值类型,而并非说没有参数。(运算的时候,需要未知内容)如果没有未知内容,或者说参数,那么这里构造函数初始化就相当于没有进行任何操作。

    定义这种特殊类型的函数,肯定有它的用途。(如果描述类中,没有定义构造函数,系统会自动分配一个空参数的构造函数么?)

    构造函数不光可以初始化对象的成员变量,还可以输出。只是一般将其局限在初始化,这里的Person()方法中,就是一个输出语句。

    (对于这里private修饰符的作用,忘记了)

    这个构造函数是定义在描述类中的。主函数中要存放很少的东西,使用的时候调用即可

    类描述完了,下面开始创建对象来封装age,name这样的数据,同时再调用,其实上面截图的描述类中一共应该有四个类,除了上面两个,还应该有getage,getname

    现在讲述的不再是数组,思维要从数组变换为面向对象的描述类,和创建类。创建一个Person类对象,给它命名。

    接着DOS直接运行源程序,结果如下

    创建对象的类中,只有一条创建语句,没有任何输出语句,但是DOS运行后,有person run的输出。没有调用什么东西,怎么就执行了

    person run的打印代表着构造函数执行过。那为什么构造函数能够执行到。

    创建对象的类中,创建的是一个对象,换句换说,new Person()就是在创建一个对象,一个事物中的实体,它是属于Person类类型。

    注意:同样是对变量进行赋值,赋值数据的来源有三种,常量,表达式,对象。常量和表达式可以认为是一类的,它们都是位于栈中,而且是直接将具体的数据进行赋值。而对象则属于另一类,赋值机制完全不同,甚至可以认为不是赋值。对象位于堆内存中,赋予的只是地址编号,具体的数据还需要局部变量自己来到堆中的对应位置来搜寻。

    我们观察创建对象类中的执行语句,Person p=new person(),(这里有个疑问,为什么对象后后面要带上括号?这种形式是一直都有的,是为了运算数据而保留的。那么对象存在的目的又是什么?将事物实例化),变量名是什么,属于什么类型。new一个对象,后接Person代表着新建一个什么对象,Person类中的一个具体的Person对象。new后面的部分和构造函数的开头非常像。(不是像,如果是对应的对象和构造函数,两者应该是一致的,只是对象的括号中是具体数据,而构造函数中是参数列表。)

    其实,在new对象的时候,它就在调用构造函数。这里有产生一个问题,new明明是新建,为什么会有这样的内容。如果不用术语来说,就是new一个Person对象,就是在执行,构造函数里的System.out.println("person run")语句。

    专业的解释一下,构造函数在对象一创建的时候,就开始运行了。这样构造函数的作用就出来了,它可以给对象进行初始化。对象一创建出来,就具备一些内容,不需要调用,就有的一些内容。

    构造函数就是在构建对象时,用到的函数

  • 相关阅读:
    Mixtile LOFT
    关于Linux系统清理/tmp/文件夹的原理
    在大型项目上,Python 是个烂语言吗
    Nginx 进程间通信
    蕤仁肉(内仁肉、泪仁肉)简单介绍
    TMS320F28335项目开发记录5_28335之CCS编程基础
    RBAC权限管理
    国内三大PT(Private Tracker)站分析
    Nginx特点
    java设计模式演示样例
  • 原文地址:https://www.cnblogs.com/wsw-bk/p/7654437.html
Copyright © 2020-2023  润新知