当前位置: 首页 > 知识库问答 >
问题:

Java中的方法与构造函数

滑文昌
2023-03-14

我刚刚开始用Java编程。在讨论方法和构造函数时,我们使用的文本是缺乏的。我不确定方法或构造函数到底是什么,也不确定是什么让它们独一无二。有人能帮我定义它们并区分两者吗?

共有3个答案

甄正信
2023-03-14

其他老师和助教偶尔会告诉我,建设者是专业的方法。我一直认为,在Java中,构造函数不是专门的方法。

如果构造函数是方法,我希望它们与方法具有相同的能力。他们至少在更多方面是相似的,而不是不同的。

>

  • 构造函数必须用new运算符调用,而方法不能用new运算符调用。相关:构造函数不能按名称调用,而方法必须按名称调用。

    构造函数不能具有返回类型,而方法必须具有返回类型。

    如果方法与类具有相同的名称,则它必须具有返回类型。否则,它就是一个构造函数。你可以在同一个类定义中有两个MyClass()签名,它们被不同地对待,这一事实应该让所有人相信构造函数和方法是不同的实体:

    public class MyClass {
       public MyClass() { }                                   // constructor
       public String MyClass() { return "MyClass() method"; } // method
    }
    

    构造函数可以初始化实例常量,而方法不能。

    Public和protected构造函数不会被继承,而Public和protected方法会被继承。

    构造函数可以调用超类或同一类的构造函数,而方法不能调用super()或this()。

    >

  • 它们都有参数列表。

    它们都有代码块,当直接调用该块(方法)或通过new(构造函数)调用该块时,将执行这些代码块。

    >

  • 构造函数可以是:私有的,受保护的,公共的。

    方法可以是:私有的、受保护的、公共的、抽象的、静态的、最终的、同步的、本地的、严格的tfp。

    数据字段可以是:私有的、受保护的、公共的、静态的、最终的、瞬态的、不稳定的。

    在Java中,构造函数的形式和功能与方法的形式和功能明显不同。因此,将其称为专门方法实际上会让新程序员更难了解差异。它们的区别远大于相似之处,在Java中,将它们作为不同的实体来学习是至关重要的。

    我确实认识到,在这方面,Java不同于其他语言,即C语言,在C语言中,专门方法的概念起源于C语言,并得到语言规则的支持。但是,在Java,构造函数根本不是方法,更不用说专门的方法了。

    甚至javadoc也认识到构造函数和方法之间的差异大于相似性;并为构造函数提供了单独的部分。

  • 温星华
    2023-03-14

    主要区别在于

    1.构造函数用于初始化对象的状态,其中as方法公开对象的行为。

    2.构造函数不能具有返回类型,而方法必须具有返回类型。

    3.构造函数名称与类名相同,其中as方法可能与类名相同,也可能与类名不同。

    4.构造函数隐式调用,as方法显式调用。

    5.构造函数编译器提供默认构造函数,而as方法编译器不提供。

    弘和同
    2023-03-14

    构造函数和方法之间的重要区别在于,构造函数初始化使用new操作符创建的对象,而方法对已经存在的对象执行操作。

    不能直接调用构造函数;当new关键字创建对象时,会隐式调用构造函数。方法可以在已经用new创建的对象上直接调用。

    构造函数和方法的定义在代码中看起来很相似。它们可以使用参数,可以使用修饰符(例如,public),还可以使用大括号中的方法体。

    构造函数的名称必须与类名相同。他们不能返回任何东西,甚至void(对象本身就是隐式返回)。

    必须声明方法才能返回某些内容,尽管它可以是val

     类似资料:
    • 问题内容: 我刚刚开始使用Java进行编程。在讨论方法和构造函数时,我们缺少使用的文字。我不确定到底是什么方法或构造函数以及什么使每个方法唯一。有人可以帮我定义它们并区分两者吗? 问题答案: 构造函数与方法之间的重要区别在于,构造函数初始化使用运算符创建的对象,而方法对已存在的对象执行操作。 构造函数不能直接调用。当关键字创建对象时,将隐式调用它们。可以直接在已使用创建的对象上调用方法。 构造函数

    • 问题内容: 对不起任何较小的语法错误或其他错误,我正在使用Jitsi模块进行此操作,并且对Java不太熟悉,因此想确认正在发生的事情以及为什么以及如何对其进行修复。 使用按名称加载类方法创建类B的实例时,应用程序正在执行此操作: 在类B中调用重写的load() 初始化变量(根据调试器调用“私有字符串testString = null”),将其无效。 这是预期的Java行为吗?是什么原因造成的?它是

    • 本文向大家介绍Java构造器(构造方法)与方法区别说明,包括了Java构造器(构造方法)与方法区别说明的使用技巧和注意事项,需要的朋友参考一下 构造器,又称为构造方法。构造器用于构造该类的实例,也就是对象。 格式如下:[修饰符] 类名 (形参列表){//n条语句} 构造方法是一种特殊的方法,与一般的方法区别:    1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。

    • 实际上我是初学者,我的问题可能很傻,我怀疑java中方法和构造函数的实际用途是什么, 我们可以在这两种方法中传递值 推荐哪一种?为什么??

    • 问题内容: 什么时候应该使用构造函数,什么时候应该使用静态方法? 您能用小片段解释一下吗?我略读了一些线程,但是我仍然不清楚。 问题答案: 当您只想返回该类型的新对象并且希望简单时,请使用公共构造函数。 一个很好的例子是StringBuilder,因为它是可变的,您可能每次都想要一个新对象。 当您可能想重用对象(尤其是不可变的对象),返回子类或描述结构时,请使用静态因子方法。一个很好的例子是Enu

    • 我是Java的新手,正在处理一个家庭作业问题。该问题指定使用一个构造函数创建一个Temperature类,该构造函数接受华氏温度(作为double)并将其存储在字段中。setFahrenheit方法接受一个华氏温度(以双倍数形式),并将其存储在字段中。 这在我看来是多余的。setFahrenheit方法不是和构造函数完全一样吗?