• 构造方法与匿名对象


    程序在使用类的时候一般都是如下步骤:

      1 声明并实例化对象,这个时候实例化对象中的属性并没有任何数据的存在(刚生的小孩没穿衣服,还没起名呢)

           2 需要通过一系列的setter方法为类中的属性设置内容。(【getter setter方法】叔叔阿姨给你买衣服)

    也就是说想要获得一个正真可以正常使用的实例化对象,必须经过以上两个步骤才可以实现。

    如果成员属性过多时,可以通过构造方法实现实例化对象的属性初始化

    初始化就是为新对象设置数据

    只有在关键字new时才配置构造方法。

    构造方法的定义要求如下:

    1 方法名称必须与类名称一致

    2 构造方法不允许设置任何返回值

    3 构造方法是在使用关键字new的时候自动调用的

    ①Person ②per = ③new ④Person();//get set方法也可以设置数据            可以设置修改数据

    ①Person ②per = ③new ④Person(“张三”,18);//构造方法设置数据,      初始化时用

       ①Person             主要定义所属类型

       ②per      实例化对象的名称,所有的操作通过对象来访问

       ③new      开辟新的内存空间

       ④Person();    调用有参构造,Java程序考虑到程序的完整性,所有的类都会提供构造方法,如果类中没有定义

    任何的构造方法,系统默认会提供一个无参构造方法,什么都不做,且看不见的构造方法,这是程序编译的时候自动创建的

    如果已经创建了构造方法,这个默认的无参的构造方法不会被创建。

                             结论:一个类中至少有一个构造方法     这是永恒的定律 ;

    构造方法为什么不允许有返回值类型?

    构造方法没有返回值,且不用 void 定义?//编译器根据代码结构编译处理的,执行的时候也是根据代码结构处理

    如果使用了void,则与普通方法无异,构造方法是在类对象产生的时候调用的,普通方法是类对象实例化之后调用的

    构造方法也是方法,可以重载,构造方法重载只需考虑参数类型和个数即可,多个构造方法的定义时候,可按升降序

    排列

     构造方法可以传递属性数据,进一步进行分析对象的产生格式:

              定义对象的名称:类名称  对象名称=NULL;

              实例化对象:       对象名称=new  类名称();//这是匿名对象,由于该对象没有任何的引用名称

    该对象使用一次之后,将会成为垃圾,被GC回收释放。那匿名对象又有什么意义呢?

     如果这时只是通实例化对象性来进行类的操作也是可以的,而而这种形式的对象由于没有名字,就称之为匿名对象

    只要是方法都可以传递任意数据类型(基本数据类型,引用数据类型)。

              

  • 相关阅读:
    Chroot 特性 ?
    服务端处理 Watcher 实现 ?
    四种类型的数据节点 Znode ?
    Zookeeper 文件系统 ?
    ZooKeeper 面试题?
    Mapper 编写有哪几种方式?
    Mybatis 的一级、二级缓存?
    Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?
    一对一、一对多的关联查询 ?
    Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id 是否可以重复?
  • 原文地址:https://www.cnblogs.com/shitulaoma/p/12446205.html
Copyright © 2020-2023  润新知