构造函数和方法的区别

构造函数和方法的区别

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 GeekdocsDemo {
    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 GeekdocsDemo {
    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 创建对象时调用构造函数。 通过方法调用调用方法。
构造函数没有返回类型。 方法必须有返回类型。
构造函数初始化一个不存在的对象。 方法对已创建的对象执行操作。
构造函数的名称必须与类的名称相同。 方法的名称可以是任何名称。
一个类可以有许多构造函数,但不能有相同的参数。 一个类可以有很多方法,但不能有相同的参数。
构造函数不能被子类继承。 方法可以被子类继承。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程