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中,构造函数必须与它们所在的类的名称相同,而方法可以具有任何名称,并且可以直接使用类引用或对象引用来调用。构造函数是此规则的例外。