Java构造方法(构造器)

简介: 1.什么是构造方法?2.构造方法的使用

1.什么是构造方法?

构造方法(也称构造器 constructor):是一个特殊的成员方法,其名字必须与类名相同,在创建对象时,由编译器自动调用,并且在整个对象的生命周期内只调用一次


2.构造方法的使用

构造方法的名字与类名相同,没有返回值类型,一般情况下使用public修饰,构造方法可以重载(按照自己的需求自定义不同参数的构造方法)


构造方法的语法


[修饰列表] 构造方法名(形式参数列表){

       构造方法体;

}


当未自定义任何构造方法时,编译器会自动提供一个无参的构造方法

publicclassStudent {
privateStringname;
privateintage;
privatedoublescore;
}


此时,编译器会为Student类提供无参构造方法

publicStudent(){
    }

 

一旦定义了构造方法,编译器便不再提供构造方法

publicclassStudent {
privateStringname;
privateintage;
privatedoublescore;
//带有三个参数的构造方法publicStudent(Stringname, intage, doublescore) {
this.name=name;
this.age=age;
this.score=score;
    }
}


此时创建无参对象,编译器报错

528a9aaa78d94690b28452bdbf0b64f1.png

因此建议在创建构造方法时,总是加上无参构造方法


IDEA可以快速生成构造方法,鼠标右键或是alt+Insert

ee7772028d8d469a94a2ff5d7906ae57.png


在构造方法中,可以通过使用this调用其他构造方法来简化代码

publicclassStudent {
privateStringname;
privateintage;
privatedoublescore;
publicStudent(){
this("张三",20,60);
    }
publicStudent(Stringname, intage, doublescore) {
this.name=name;
this.age=age;
this.score=score;
    }
}


注:


this()必须是构造方法中的第一条语句

4aca7121b0684004abdf962bc4a2a272.png


不能相互调用

3.png


目录
打赏
0
0
0
0
2
分享
相关文章
|
3天前
|
java构造方法,构造代码块,静态代码块的执行顺序
本文介绍了Java中构造方法、构造代码块和静态代码块的执行顺序。静态代码块用`static`声明,在JVM加载类时执行一次;构造代码块在每次创建对象时执行,先于构造方法;构造方法用于对象初始化,创建对象时调用。示例代码展示了这三者的输出顺序,并解释了它们的区别和应用场景。
Java 面试必问!线程构造方法和静态块的执行线程到底是谁?
大家好,我是小米。今天聊聊Java多线程面试题:线程类的构造方法和静态块是由哪个线程调用的?构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节有助于掌握Java多线程机制。下期再见! 简介: 本文通过一个常见的Java多线程面试题,详细讲解了线程类的构造方法和静态块是由哪个线程调用的。构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节对掌握Java多线程编程至关重要。
54 13
Java执行顺序大揭秘:静态块、非静态块和构造方法谁先谁后?
本文详细介绍了Java中的初始化块,包括静态初始化块和非静态初始化块的概念、执行顺序和实际应用场景。通过具体示例,帮助读者理解这两种初始化块的区别和使用场景,让面试官对你刮目相看。
54 0
Java执行顺序大揭秘:静态块、非静态块和构造方法谁先谁后?
|
4月前
|
在Java中定义一个不做事且没有参数的构造方法的作用
Java程序在执行子类的构造方法之前,如果没有用super()来调用父类特定的构造方法,则会调用父类中“没有参数的构造方法”。因此,如果父类中只定义了有参数的构造方法,而在子类的构造方法中又没有用super()来调用父类中特定的构造方法,则编译时将发生错误,因为Java程序在父类中找不到没有参数的构造方法可供执行。解决办法是在父类里加上一个不做事且没有参数的构造方法。
Java零基础-构造方法详解
【10月更文挑战第5天】Java零基础教学篇,手把手实践教学!
64 1
|
5月前
|
java构造方法时对象初始化,实例化,参数赋值
java构造方法时对象初始化,实例化,参数赋值
137 1
|
6月前
|
java调用构造方法
java调用构造方法
62 3
【颠覆性升级】JDK 22:超级构造器与区域锁,重塑Java编程的两大基石!
【9月更文挑战第6天】JDK 22的发布标志着Java编程语言在性能和灵活性方面迈出了重要的一步。超级构造器和区域锁这两大基石的引入,不仅简化了代码设计,提高了开发效率,还优化了垃圾收集器的性能,降低了应用延迟。这些改进不仅展示了Oracle在Java生态系统中的持续改进和创新精神,也为广大Java开发者提供了更多的可能性和便利。我们有理由相信,在未来的Java编程中,这些新特性将发挥越来越重要的作用,推动Java技术不断向前发展。
|
5月前
|
java构造方法的两种传值调用对实参的影响
java构造方法的两种传值调用对实参的影响
41 0
【Java】继承、super、final、子类构造方法
【Java】继承、super、final、子类构造方法
70 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等