java object 构造函数_java中的每个Object都有自己的构造函数吗?

7 个答案:

答案 0 :(得分:5)

在面向对象的设计中,构造函数是从类定义中创建对象的东西......

这里有两个关键概念

类 - 类是实例化对象应包含的蓝图,包括行为(方法)和信息(属性)。通常包含一个构造函数。

对象 - 构造函数创建的东西,实际使用中类的instatiated版本。

正在使用的构造函数的示例

public class MyClass {

public int intProperty;

// This is the Constructor, Notice it shares a name with the Class

public MyClass(int value) {

intProperty = value;

}

}

现在使用班级

// |----------This is calling the constructor

// | and placing a new MyClass object

// v in myClassObejct

MyClass myClassObject = new MyClass(3);

myClassObject.intProperty; // 3

这会创建一个新的MyClass 对象

Java 没有没有类和构造函数,它是语言设计模式的核心......

只有类具有构造函数,对象是构造函数的产品,Object本身不包含构造函数。

答案 1 :(得分:2)

是的,你调用了类的构造函数:

MyClass instance = new MyClass();

但请注意,某些对象具有该语言允许的特殊构造函数,例如String:

String x = "foobar";

非常相似(但不完全相同):

String x = new String("foobar");

请注意,如果没有为类定义构造函数,则隐含默认(no-args)构造函数。

答案 2 :(得分:2)

是的,每个班级都有一个构造函数。

如果您没有明确定义一个,Java将为您创建一个默认的空值。

答案 3 :(得分:1)

在Java中,每个类都有一个或多个构造函数,当使用new关键字创建对象时,会调用该类的构造函数。

示例:

Integer i = new Integer("1");

//i is the object, and the Integer class constructor gets called

答案 4 :(得分:1)

每个类都必须有自己的构造函数。要么提供一个或多个ctor,要么编译器会为您生成默认的无参数ctor。如果你有自己的ctor,那么编译器不会生成任何东西。

答案 5 :(得分:1)

Java中的每个对象都必须通过一些Class的构造函数创建,除了一些原始类,如String,它有特殊的分配规则。即使在最基本的级别,您也可以随时致电

Object o = new Object();

由于Java中的所有对象都继承自Object超类,因此大多数对象都将继承默认构造函数。

这个例外是当一个类只有一个私有构造函数时 - 一个不能被任何外部类调用的构造函数。在这种情况下,由于不再需要默认构造函数,因此也无法访问它。

class MyClass

{

private MyClass()

{

//cannot be called by outside classes

}

}

通常,这用于纯静态类(不需要实例)或Singleton对象(想要限制实例化)。因此,所有对象都是从某个构造函数创建的,但并非所有类都必须具有可用的构造函数。

答案 6 :(得分:0)

语句“通过调用构造函数方法创建对象的新实例”是一个不正确的语句,并且是导致混淆的原因。没有对象的实例这样的东西。对象是类的实例。以下2个陈述有效:

通过调用构造函数方法创建对象。

通过调用构造函数方法创建类的实例(即对象)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值