Java中自动生成构造方法详解

作者:StellaAh 时间:2023-06-21 14:17:44 

Java中自动生成构造方法详解

每个类在没有声明构造方法的前提下,会自动生成一个不带参数的构造方法,如果类一但声明有构造方法,就不会产生了.证明如下:

例1:


class person
{
 person(){System.out.println("父类-person");}
 person(int z){}
}
class student extends person
{
// student(int x ,int y){super(8);}
}

class Rt
{
 public static void main(String[]args)
 {
   student student_dx=new student();//创建student类的对象
 }
}
//输出结果:父类-person

例2:


class person
{
 person(){System.out.println("父类-person");}
 person(int z){}
}
class student extends person
{
 student(int x ,int y){super(8);}
}

class Rt
{
 public static void main(String[]args)
 {
   student student_dx=new student(3,4);//创建student类的对象
 }
}
//没有输出结果

例1说明:student类自动生成student() {super();}(前提是:student类没有声明构造方法的前提下) 'super()'是用来调用父类的构造方法.

例2中的person()方法没有被调用,说明student类没有产生student(){super();}方法.这是因为student类已经声明构造方法,默认的那个不带参数的构造方法就不产生了.

再举例:


class person
{
 person(int z){}
}
class student extends person
{

}

class Rt
{
 public static void main(String[]args)
 {
   student student_dx=new student();//创建student类的对象
 }
}
/*报错:
exercise14.java:8: 找不到符号
符号: 构造函数 person()
位置: 类 person
class student extends person
^
1 错误
*/

说明:student类自动产生了一个student(){super();},但是由于person类已经声明了构造方法,默认的那个带参数的构造方法没有产生.,所以报错中提到找不到构造函数person()

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

标签:Java,自动生成,构造方法
0
投稿

猜你喜欢

  • Java类中字段可以不赋予初始值的原因分析

    2023-01-05 15:55:49
  • Android中使用Toast.cancel()方法优化toast内容显示的解决方法

    2021-12-14 05:17:03
  • java实现打砖块小游戏

    2021-07-26 14:47:11
  • Flutter 如何正确显示SnackBar

    2023-06-23 13:00:40
  • Jenkins自动化打包为war包

    2021-08-08 20:25:49
  • C#多线程的Join()方法

    2022-05-08 23:56:13
  • Java ArrayList扩容问题实例详解

    2022-05-08 08:57:57
  • Android实现创建或升级数据库时执行语句

    2022-07-10 11:58:58
  • c#访问this关键字和base关键字示例

    2021-09-28 23:36:14
  • android在异步任务中关闭Cursor的代码方法

    2022-04-21 18:07:32
  • Android 列表选择框 Spinner详解及实例

    2021-11-18 14:59:08
  • 解决@ConfigurationProperties注解的使用及乱码问题

    2023-09-08 06:55:10
  • C#实现文件分割和合并的示例详解

    2023-05-24 21:04:03
  • 详解怎么用Java的super关键字

    2021-10-06 08:11:14
  • Android自定义View图片按Path运动和旋转

    2022-09-15 22:53:11
  • android开发教程之startActivityForResult使用方法

    2022-04-03 13:46:16
  • Java实现Excel导入导出的步骤详解

    2022-09-05 05:20:32
  • winform 实现控制输入法

    2022-05-01 11:35:38
  • Java中EasyPoi多sheet导出功能实现

    2023-01-15 08:10:39
  • 详解mybatis-plus配置找不到Mapper接口路径的坑

    2022-03-12 10:37:45
  • asp之家 软件编程 m.aspxhome.com