• Java中对象的初始化与函数重载1


    无论是Java和C#都要求对象在建立时,其Field成员能够被初始化,于是一个对象在建立的时候需要调用其构造器(初始化方法)。

    构造器的格式,example:

    class Bread

    {

      String taste;

      Bread()  //构造器

      {

        //Initialization

      }

    }

    构造器的标准格式要求构造方法必须与类名一致,不能有返回值类型标识(void也不行)。

    当生成一个新对象时:首先为对象分配存储空间,然后调用构造器来对域成员进行初始化。

    new Bread(),即生成一个新对象时,其构造器是被自动的调用的。当类中未显示的给出构造器时,编译器会调用默认的构造器完成域的初始化操作。

    默认构造器初始化原则:对基本类型(int,long,float),其二进制位全部置0。对对象变量(即引用),置为null(同样也是将二进制位置0)。

    注意:一旦用户定义了构造器后,系统的默认构造器即失效,必须按照定义的构造器给出初始化参数列表。

    即:

    class Bread

    {

    String taste;

    }  此时,类文件中未定义构造器,将采用默认构造器,  new Bread()可编译通过,taste被置为null;

    若改为:

    class Bread

    {

    String taste;

    Bread(String str)

    {

      taste=str;

    }

    }

    new Bread()将无法编译通过(无与其匹配的构造器,默认构造器失效), 必须改为  new Bread("sweat"),以满足定义的构造器的参数列表要求。

     

    构造器的标准格式要求构造方法必须与类名一致?

    1、任何名字都可能与类成员的名字相冲突;

    2、编译器需要能够知道每个类得构造器方法,以进行调用。

    在OOP中,构造器必须与类名一致,以保证编译器能正确的调用各个类的构造器。

    构造器是在建立对象时自动调用的,其调用在对象建立好之前,构造器实质是一个public static方法,不属于具体对象,而是类。

    但是JAVA中为求标记的的便利,隐去了对static关键字的要求。

    有些时候,同一个类可能不止具有一个构造器,于是产生了对函数重载的需求。(OOP设计之初)

    *因为构造器名必须与类名一致,那么具有多种初始化方式的类,该如何定义其构造器方法?函数重载!

  • 相关阅读:
    关于异常“The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine”的处理
    sqlserver怎么将查询出来的数据存到新的数据库表中
    如何使excel表格的内容自动添加前缀
    数据库中实现“替换功能”
    win7下安装sdks
    win7如何安装mircosoft SDKs
    如何从mysql中将数据导入到sqlserver
    Sql Server 查询多行并一行
    04-队列 Queue
    03-栈 Stack
  • 原文地址:https://www.cnblogs.com/airwindow/p/2548509.html
Copyright © 2020-2023  润新知