首页 > Java > java教程 > 正文

在Java中,默认构造函数和带参数的构造函数有什么区别?

WBOY
发布: 2023-09-22 12:37:02
转载
781 人浏览过

在Java中,默认构造函数和带参数的构造函数有什么区别?

默认构造函数

  • 默认构造函数是一个0参数构造函数,其中包含对超类构造函数的无参数调用.
  • 为新创建的对象分配默认值是默认构造函数的主要职责。
  • 只有当程序没有编写任何构造函数时,编译器才会在代码中写入默认构造函数。
  • 默认构造函数的访问修饰符始终与类修饰符相同,但此规则仅适用于“public”“default”

编译器何时添加默认构造函数

  • 编译器仅在程序员添加默认构造函数时才在代码中添加默认构造函数在代码中不编写构造函数。
  • 如果程序员在代码中编写任何构造函数,则编译器不会添加任何构造函数。
  • 每个默认构造函数都是 0 参数构造函数,但每个 0 参数构造函数都不是默认构造函数。

参数化构造函数

  • 参数化构造函数是具有特定的构造函数要传递的参数数量。
  • 参数化构造函数的目的是将用户想要的特定值分配给不同对象的实例变量。
  • 参数化构造函数由程序员显式编写。
  • 默认构造函数的访问修饰符始终与类修饰符相同,但此规则仅适用于“public”“默认”修饰符。

示例

实时演示

public class Student {
   int roll_no;
   String stu_name;
   Student(int i, String n) { // Parameterized constructor
      roll_no = i;
      stu_name = n;
   }
   void display() {
      System.out.println(roll_no+" "+stu_name);
   }
   public static void main(String args[]) {
      Student s1 = new Student(1,"Adithya");
      Student s2 = new Student(2,"Jai");
      s1.display();
      s2.display();
   }
}
登录后复制

在上面的程序中,程序员定义了一个带有 2 个参数的参数化构造函数。现在编译器没有在代码中添加默认构造函数,程序员也没有编写任何 0 参数构造函数。

输出

1 Adithya
2 Jai
登录后复制

以上是在Java中,默认构造函数和带参数的构造函数有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!