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

什么是方法

面向对象编程中的方法执行一组有限的责任和任务。方法的名称不能与类的构造函数相同。另外,方法需要有返回类型(包括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中,构造函数必须以与其所在类的名称相同的名称调用,而方法可以具有任何名称,并且可以直接使用类的引用或对象引用调用。构造函数是这个规则的例外。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程