Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java构造函数和初始化类变量_Java_Constructor_Initialization - Fatal编程技术网

Java构造函数和初始化类变量

Java构造函数和初始化类变量,java,constructor,initialization,Java,Constructor,Initialization,在Java中,类的构造函数是否创建该类的实例?如果是,它是否也初始化该类的变量?构造函数不创建对象。一旦使用参数(如果提供)或默认值创建对象(及其数据成员),它们只会初始化对象。当使用new运算符创建类的实例时,会调用类的构造函数以初始化实例变量。 如果定义的构造函数是默认的,那么实例变量必须显式地分配给新创建的对象。 但是,当您使用字段重写构造函数时,新创建的对象的实例变量将在对象创建过程中分配。我想用一种非常简单的语言来解释这一点。在现实世界中,我们需要两样东西,第一是它的原型/模型,第二是

在Java中,类的构造函数是否创建该类的实例?如果是,它是否也初始化该类的变量?

构造函数不创建对象。一旦使用参数(如果提供)或默认值创建对象(及其数据成员),它们只会初始化对象。

当使用new运算符创建类的实例时,会调用类的构造函数以初始化实例变量。 如果定义的构造函数是默认的,那么实例变量必须显式地分配给新创建的对象。
但是,当您使用字段重写构造函数时,新创建的对象的实例变量将在对象创建过程中分配。

我想用一种非常简单的语言来解释这一点。在现实世界中,我们需要两样东西,第一是它的原型/模型,第二是可以基于原型创建它的人。
Constructor doesn’t create the instance of the Class.

Instance creation is done using either:

  1.Using Class.forName()

  2.ClassLoader loadClass()

  3.Using clone()

  4.Deserialization

  5.Using reflection

  6.new keyword


Constructor in java is a special type of method that is used to initialize the object.

Java constructor is invoked at the time of object creation. It constructs the values i.e. provides data for the object that is why it is known as constructor.

Rules for creating java constructor

There are basically two rules defined for the constructor.

      1.Constructor name must be same as its class name

      2.Constructor must have no explicit return type

Types of java constructors

 There are two types of constructors:

     1.Default constructor (no-arg constructor)

     2.Parameterized constructor
一个非常相关的简单例子是建造一座房子,你首先需要它的蓝图(地图),然后是一个建造师,他可以根据蓝图建造房子。因此,在编程语言中也是如此

对象:我们为其创建类的真实实体

:类描述由它构成的对象的“蓝图”(是它的实例)

  • 对于软件开发,我们首先必须考虑对象(任何真实世界的实体),然后为其创建一个类(蓝图),其中包含其属性
  • 在创建一个类之后,当我们需要基于它创建一个或多个对象时,为此,我们需要一个构造函数来构建它
  • 每当我们创建一个新对象时,我们必须使用
    new
    关键字,它会告诉构造函数创建对象

  • 初始化类中的变量时,它们只是蓝图的一部分,基于此,将创建对象。因此,如果没有构造函数,就无法创建新对象,但是有一些特殊情况和技巧,可以在不调用构造函数的情况下创建它们。

    不,构造函数不会创建实例。构造函数初始化实例。谢谢!我试着阅读文档,但不清楚。你知道学习构造函数基础知识的好方法吗?@SotiriosDelimanolis创建和初始化有什么区别?@yitzih创建是为对象分配内存的过程。它是通过一个新的实例创建表达式来完成的。初始化是准备对象状态的过程(例如,为其字段赋值)。我相信创建需要分配内存,而初始化需要设置实例变量。构造函数只负责Java中的第二部分。