首页后端开发其他后端知识Java的构造方法特点是什么, 怎样写?

Java的构造方法特点是什么, 怎样写?

时间2024-03-28 22:54:03发布访客分类其他后端知识浏览715
导读:这篇文章我们来了解Java的构造方法的内容,在Java的构造方法是一个很重要和基础的知识,是需要掌握的,对此本文给大家大家一下Java构造方法的特点、写法和使用等,有需要的朋友接下来就跟随小编一起学习一下吧! 本教程操作环境:windows...

这篇文章我们来了解Java的构造方法的内容,在Java的构造方法是一个很重要和基础的知识,是需要掌握的,对此本文给大家大家一下Java构造方法的特点、写法和使用等,有需要的朋友接下来就跟随小编一起学习一下吧!

本教程操作环境:windows7系统、java8版、DELL G3电脑。

构造方法是类的一种特殊方法,用来初始化类的一个新的对象,在创建对象(new 运算符)之后自动调用。Java 中的每个类都有一个默认的构造方法,并且可以有一个以上的构造方法。

Java 构造方法有以下特点:

  • 方法名必须与类名相同

  • 可以有 0 个、1 个或多个参数

  • 没有任何返回值,包括 void

  • 默认返回类型就是对象类型本身

  • 只能与 new 运算符结合使用

值得注意的是,如果为构造方法定义了返回值类型或使用 void 声明构造方法没有返回值,编译时不会出错,但 Java 会把这个所谓的构造方法当成普通方法来处理。

这时候大家可能会产生疑问,构造方法不是没有返回值吗?为什么不能用 void 声明呢?

简单的说,这是 Java 的语法规定。实际上,类的构造方法是有返回值的,当使用 new 关键字来调用构造方法时,构造方法返回该类的实例,可以把这个类的实例当成构造器的返回值,因此构造器的返回值类型总是当前类,无须定义返回值类型。但必须注意不要在构造方法里使用 return 来返回当前类的对象,因为构造方法的返回值是隐式的。

注意:构造方法不能被 static、final、synchronized、abstract 和 native(类似于 abstract)修饰。构造方法用于初始化一个新对象,所以用 static 修饰没有意义。构造方法不能被子类继承,所以用 final 和 abstract 修饰没有意义。多个线程不会同时创建内存地址相同的同一个对象,所以用 synchronized 修饰没有必要。如果不了解除 static、final 之外其他的关键字,教程后面会详细讲解。

构造方法的语法格式如下:

class class_name {

    public class_name(){
}
    // 默认无参构造方法
    public ciass_name([paramList]){
}
    // 定义构造方法
    …
    // 类主体
}

在一个类中,与类名相同的方法就是构造方法。每个类可以具有多个构造方法,但要求它们各自包含不同的方法参数。

示例:

构造方法主要有无参构造方法和有参构造方法两种,示例如下:

public class MyClass {
    
    private int m;
    // 定义私有变量
    MyClass() {
    
        // 定义无参的构造方法
        m = 0;

    }

    MyClass(int m) {
    
        // 定义有参的构造方法
        this.m = m;

    }

}
    

该示例定义了两个构造方法,分别是无参构造方法和有参构造方法。在一个类中定义多个具有不同参数的同名方法,这就是方法的重载。这两个构造方法的名称都与类名相同,均为 MyClass。在实例化该类时可以调用不同的构造方法进行初始化。

注意:类的构造方法不是要求必须定义的。如果在类中没有定义任何一个构造方法,则 Java 会自动为该类生成一个默认的构造方法。默认的构造方法不包含任何参数,并且方法体为空。如果类中显式地定义了一个或多个构造方法,则 Java 不再提供默认构造方法。

提示:无参数的构造方法也被称为 Nullary 构造方法。只有编译程序自动加入的构造方法,才称为默认构造函数。如果自行编写无参数、没有内容的构造函数,就不称为默认构造函数了(只是 Nullary 构造函数)。虽然只是名词定义,不过认证考试时要区别一下两者的不同。

关于Java的构造方法就介绍到这,上述示例具有一定的借鉴价值,感兴趣的朋友可以参考,希望能对大家学习和理解Java的构造方法有帮助,想要了解更多Java的构造方法的内容,大家可以关注其它的相关文章。

文本转载自PHP中文网

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Java的构造方法特点是什么, 怎样写?
本文地址: https://pptw.com/jishu/655252.html
Java中获取系统时间的方法有哪些,你知道多少? Java类和对象是什么关系,如何理解类和对象?

游客 回复需填写必要信息