Java 构造函数
Java 构造函数:
Java 构造函数或 Java 中的构造函数是用于在程序中构造某些内容的术语。 Java中的构造函数是一种特殊的方法,用于初始化对象。创建类的对象时会调用构造函数。它可用于设置对象属性的初始值。
Java 中的构造函数是什么?:
在Java中,构造函数是类似于方法的代码块。当创建类的实例时调用它。调用构造函数时,会在内存中分配对象的内存。它是一种特殊类型的方法,用于初始化对象。每次使用 new() 关键字创建对象时,都会至少调用一个构造函数。
了解如何有效地使用构造函数可以显着提高您的 Java 编程技能,尤其是在处理复杂的应用程序时。掌握构造函数的细微差别对于构建可扩展和可维护的软件至关重要。
Java 构造函数示例:
// Driver Class class Geeks { // Constructor Geeks() { super(); System.out.println("Constructor Called"); } // main function public static void main(String[] args) { Geeks geek = new Geeks(); } }
** Java 构造函数与 Java 方法有何不同?**
1.构造函数必须与定义它的类具有相同的名称,这对于Java中的方法来说不是必需的。
2.构造函数不返回任何类型,而方法有返回类型,如果不返回任何值,则返回 void。
3.构造函数在对象创建时仅被调用一次,而方法可以被调用任意多次。
什么时候调用 Java 构造函数?
每次使用 new() 关键字创建对象时,都会调用至少一个构造函数(可以是默认构造函数)来为同一类的数据成员分配初始值。构造函数的编写规则如下:
1.类的构造函数必须与其所在的类同名。
2.Java中的构造函数不能是abstract、final、static或Synchronized。
3.可以在构造函数声明中使用访问修饰符来控制其访问权限,即哪个其他类可以调用该构造函数。
Java 中的构造函数类型(TBD)
现在是讨论构造函数类型的正确时机,因此 Java 中的构造函数主要分为以下三种类型:
3.复制构造函数
参考:https://www.geeksforgeeks.org/constructors-in-java/
Java 中的构造函数重载:
在Java中,我们可以像方法一样重载构造函数。构造函数重载可以定义为具有多个具有不同参数的构造函数的概念,以便每个构造函数可以执行不同的任务。
这里,我们需要了解构造函数重载的目的。有时,我们需要使用多个构造函数来初始化类的不同值。
我们还必须注意到,当我们在类中不使用任何构造函数时,java 编译器会调用默认构造函数。但是,如果我们在类中使用了任何构造函数,无论它是默认构造函数还是参数化构造函数,都不会调用默认构造函数。在这种情况下,java 编译器会抛出异常,指出构造函数未定义。
在构造函数重载中使用 this ():
但是,我们可以在构造函数中使用 this 关键字,它可以用来调用同一个类的另一个构造函数。
示例
// Driver Class class Geeks { // Constructor Geeks() { super(); System.out.println("Constructor Called"); } // main function public static void main(String[] args) { Geeks geek = new Geeks(); } }
参考:https://www.javatpoint.com/constructor-overloading-in-java
节目:
public class Student { //instance variables of the class int id,passoutYear; String name,contactNo,collegeName; Student(String contactNo, String collegeName, int passoutYear){ this.contactNo = contactNo; this.collegeName = collegeName; this.passoutYear = passoutYear; } Student(int id, String name){ this("9899234455", "IIT Kanpur", 2018); this.id = id; this.name = name; } public static void main(String[] args) { //object creation Student s = new Student(101, "John"); System.out.println("Printing Student Information: \n"); System.out.println("Name: "+s.name+"\nId: "+s.id+"\nContact No.: "+s.contactNo+"\nCollege Name: "+s.contactNo+"\nPassing Year: "+s.passoutYear); } }
输出:
public class SuperMarket { //class specific static String name = "SB SuperMarket"; static int doorNo = 10; static boolean open = true; //non-static ---> Instance specific String product_name; int price, discount; SuperMarket(String product_name, int price, int discount) { this.product_name = product_name; this.price = price; this.discount = discount; } public static void main(String[] args) { SuperMarket product1 = new SuperMarket("cinthol", 22,2); SuperMarket product2 = new SuperMarket("biscuits",30,5); SuperMarket product3 = new SuperMarket("cake",10,1); product1.sell(); product2.sell(); product3.sell(); product2.return_product(); } public void return_product() { System.out.println("returning "+product_name); } public void sell() { System.out.println(product_name); System.out.println(price); System.out.println(discount); } }
以上是Java 构造函数的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

公司安全软件导致部分应用无法正常运行的排查与解决方法许多公司为了保障内部网络安全,会部署安全软件。...

将姓名转换为数字以实现排序的解决方案在许多应用场景中,用户可能需要在群组中进行排序,尤其是在一个用...

系统对接中的字段映射处理在进行系统对接时,常常会遇到一个棘手的问题:如何将A系统的接口字段有效地映�...

在使用IntelliJIDEAUltimate版本启动Spring...

在使用MyBatis-Plus或其他ORM框架进行数据库操作时,经常需要根据实体类的属性名构造查询条件。如果每次都手动...

Java对象与数组的转换:深入探讨强制类型转换的风险与正确方法很多Java初学者会遇到将一个对象转换成数组的�...

电商平台SKU和SPU表设计详解本文将探讨电商平台中SKU和SPU的数据库设计问题,特别是如何处理用户自定义销售属...

Redis缓存方案如何实现产品排行榜列表的需求?在开发过程中,我们常常需要处理排行榜的需求,例如展示一个�...
