构造函数和方法的区别

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

(0)
上一篇 2022年6月7日 01:16
下一篇 2022年6月7日 01:16

相关推荐

发表回复

登录后才能评论