Java 是一种纯粹的基于 OOPS 概念的编程语言。因此,在 Java 中,所有变量、数据和语句都必须存在于类中。这些类由构造函数和方法组成。方法和构造函数在很多方面彼此不同。
构造函数
构造函数用于初始化对象的状态。与方法一样,构造函数也包含在创建对象时执行的语句(即指令)集合。每次使用 new
关键字创建对象时,都会调用至少一个构造函数(可能是默认构造函数)来为同一类的数据成员分配初始值。
例子:
// Java Program to illustrate constructor import java.io.*; class Geek { int num; String name; // This would be invoked while an object // of that class created. Geek() { System.out.println("Constructor called"); } } class YiibaiDemo { public static void main(String[] args) { // this would invoke default constructor. Geek geek1 = new Geek(); // Default constructor provides the default // values to the object like 0, null System.out.println(geek1.name); System.out.println(geek1.num); } }
运行结果:
Constructor called null 0
方法
方法是执行某些特定任务并将结果返回给调用者的语句的集合。方法可以执行某些特定任务而不返回任何内容。方法允许我们在不重新键入代码的情况下重用代码。在 Java 中,每个方法都必须是某个类的一部分,这与 C、C++ 和 Python 等语言不同。
例子:
// Java Program to illustrate methods import java.io.*; class Addition { int sum = 0; public int addTwoInt(int a, int b) { // Adding two integer value. sum = a + b; // Returning summation of two values. return sum; } } class YiibaiDemo { public static void main(String[] args) { // Creating an instance of Addition class Addition add = new Addition(); // Calling addTwoInt() method // to add two integer // using instance created // in above step. int s = add.addTwoInt(1, 2); System.out.println("Sum of two " + "integer values: " + s); } }
运行结果:
Sum of two integer values: 3
构造函数和方法的区别:
构造函数 | 方法 |
---|---|
构造函数是初始化新创建对象的代码块。 | 方法是语句的集合,在执行时会返回一个值。 |
构造函数可用于初始化对象。 | 方法由要执行的 Java 代码组成。 |
构造函数由系统隐式调用。 | 方法由程序员调用。 |
使用关键字 new 创建对象时调用构造函数。 |
通过方法调用调用方法。 |
构造函数没有返回类型。 | 方法必须有返回类型。 |
构造函数初始化一个不存在的对象。 | 方法对已创建的对象执行操作。 |
构造函数的名称必须与类的名称相同。 | 方法的名称可以是任何名称。 |
一个类可以有许多构造函数,但不能有相同的参数。 | 一个类可以有很多方法,但不能有相同的参数。 |
构造函数不能被子类继承。 | 方法可以被子类继承。 |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/264283.html