微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

构造函数和方法的区别

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐