Java 中构造函数和方法的区别


类是 Java 的基本构建块。它是一个可扩展的可编程模板,它决定了项目的形式和特征。可以说,是 Java 等面向对象编程语言的最基本组件。每个将通过 Java 应用程序执行的想法都必须首先封装在类中。在面向对象编程中,基本构建块称为对象

变量方法是 Java 类的构建块。实例变量用于指代在类中声明的变量。类的数据可以使用方式由其方法控制,方法是代码行的集合。它更类似于子程序,因为它处理数据并返回值。构造函数非常类似于方法,主要区别在于每当创建对象实例时都会调用构造函数。

什么是构造函数?

构造函数负责初始化对象,尽管它们不产生任何返回类型。有些人认为构造函数的名称应该与类的名称相同。

可以重载构造函数,但无法绕过它。此外,它不能是具体的、抽象的或实际的。

Java 编程语言中使用了三种不同的构造函数。

  • 无参构造函数 - 已断言 Java 构造函数可能具有参数,也可能没有任何参数。

  • 带参构造函数 - 可以接受一个或多个参数的 Java 构造函数,称为其正式名称,Java 带参构造函数(带参数的构造函数)。

  • 默认构造函数 - 当没有人创建构造函数时,Java 编译器会在程序执行期间创建一个构造函数。因此,它被称为默认构造函数。

Java 中的构造函数示例

请看以下示例:

// Java Program to illustrate constructor
import java.io.*;
class Const_Test {
   int num;
   String name;

   // This would be invoked while an object of that class created.
   Const_Test (){
      System.out.println("Constructor is being called in the program");
   }
}
public class Temp {
   public static void main(String[] args){

      // this would invoke default constructor.
      Const_Test Const_Test1 = new Const_Test();

      // Default constructor provides
      // the default values to the object like 0, null
      System.out.println(Const_Test1.name);
      System.out.println(Const_Test1.num);
   }
}

输出

执行时,它将产生以下输出

Constructor is being called in the program
null
0


什么是方法?

OOP 中的方法执行一组有限的责任和职责。方法的名称不能与类的构造函数相同。此外,方法具有返回类型(包括void)。通常认为方法应该始终是显式的(带参构造函数)。

与构造函数相反,如果方法尚未手动构建,Java 编译器不会提供任何默认方法。它们的继承和覆盖能力是非静态方法的特征。

可以使用任何对象(对于非静态方法)、类引用(对于静态方法)或方法名称来调用它。此外,它们采用各种参数值。

Java 中的方法示例

请看以下 Java 程序

import java.io.*;
class Adding_two_Nums {
   int sum = 0;
   public int addTwoInt(int a, int b){
      // Adding two integer value.
      sum = a + b;

      // Returning summation of two values.
      return sum;
   }
}
public class Add_Test {
   public static void main(String[] args){

      // Creating an instance of Addition class
      Adding_two_Nums add = new Adding_two_Nums();

      // Calling addTwoInt() method to add two integers
      // using the instance created in the above step.
      int s = add.addTwoInt(8, 2);
      System.out.println("Sum of two "+ "integer values: "+ s);
   }
}

输出

执行时,它将产生以下输出

Sum of two integer values: 10

构造函数和方法的区别

下表重点介绍了构造函数和方法之间的主要区别 -

比较依据
构造函数
方法
调用
系统隐式调用它。
它在程序执行期间被调用。
继承
子类无法继承它。
任何可以被子类继承的东西。
用途
它用于初始化对象的过程。
它用于演示对象的操作。
返回类型
它没有关联的返回类型。
它配备了一个返回类型。
名称
普遍误解是构造函数的名称不必与类的名称匹配。
普遍误解是方法的名称和类不能相同。

结论

方法是一组说明如何使用类的数据的指令,它们由一行或多行代码组成。方法类似于子程序,因为它处理数据并返回值。可以在程序主体内的任何位置使用方法名称来调用其执行。

构造函数非常类似于方法,主要区别在于每当创建对象实例时都会调用构造函数。与方法相反,调用构造函数是为了创建和初始化尚未创建的对象。在 Java 中,构造函数必须使用与其所在类相同的名称进行调用,而方法可以具有任何名称,并且可以直接使用类引用或对象引用进行调用。构造函数是此规则的例外。

更新于:2022-07-28

12K+ 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告