`
duanfyou
  • 浏览: 2737 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

JAVA_ 初始化与清理_默认构造器_搬砖自Think in Java

阅读更多

本篇介绍下Java中的默认构造器,接上一篇文章。

 

    如前所述,默认构造器(又名“无参”构造器)是没有形式参数的——它的作用是创建一个“默认对象”。如果你写的类没有构造器,则编译器会自动帮你创建一个默认构造器。例如:

//: 初始化之默认构造器

class Bird {}

public class DefaultConstructor {
	public static void main(String[] args) {
		Bird b = new Bird(); // 这里就调用了Bird类的默认构造器
	}
}

    在上面的例子代码中,表达式new Bird();这一行创建了一个新对象,并调用其默认构造器——即使你没有明确定义它。没有它(构造器)的话,就没有方法可以调用,就无法创建对象。但是,如果已经定义 了一个构造器(无论是否有参数),编译器就不会帮你自动创建默认构造器了:

//: 初始化之默认构造器

class Bird {
	Bird (int i) {}
	Bird (double d) {}
}

public class DefaultConstructor {
	public static void main(String[] args) {
		// Bird b = new Bird(); // 这里就调用了Bird类的默认构造器
		Bird b = new Bird(1);
		Bird b = new Bird(1.0);
	}
}

   :要是在创建对象的时候使用new Bird();这一句,编译器就会报错;没有找到匹配的构造器

    这就好比,要是你没有提供任何构造器,编译器会认为“你需要一个构造器,让我给你制造一个吧”;但假如你已写了一个构造器,编译器则会认为“啊,你已经写了一个构造器,所以你知道你在做什么、要做什么;你是刻意省略了默认构造器。”

    

 

 

分享到:
评论

相关推荐

    java 构造器的调用

    在Java编程语言中,构造器...了解和掌握构造器的调用、初始化、默认构造器、继承中的构造器调用以及构造器重载等概念,是编写高质量Java代码的基础。通过熟练运用这些知识,可以更有效地管理对象的生命周期和状态。

    java编程思想-初始化与清理

    java编程思想-初始化与清理了解this之后,你就能更全面地理解“静态(static)方法”的含义。静态方法就是没有this的方法。在“静态方法”的内部不能调用“非静态方法”,反过来倒是可以的。而且你可以在没有创建...

    Java变量初始化

    这也很容易理解,因为类变量是类加载的时候执行的初始化,且只执行一次,而调用构造器是对象实例化执行的,每实例化一次对象,执行一次。 总结 Java 变量初始化是 Java 语言的基础知识点之一。变量的初始化过程...

    Java编程思想初始化与清理PPT教案学习.pptx

    总结来说,Java编程思想中的初始化与清理主要涉及构造器的使用,方法的重载,以及`this` 关键字的应用。这些概念对于理解和编写有效的Java代码至关重要,因为它们直接影响到对象的创建、状态设置以及代码的可读性...

    java初始化和清理

    Java初始化和清理是Java语言中非常重要的两个过程,它们确保了Java程序的正确运行和资源的有效管理。Java的初始化包括类的加载、连接和初始化三个过程,而清理则主要指垃圾回收机制。 首先,Java初始化的主要特性...

    Java零基础入门到精通最全课程

    02_课程引入_如何打开笔记.mp403_课程引入_如何安装软件.mp404_课程引入_如何提高打字速度.mp405_初始JAVA_计算机语言的发展历史.mp406_初始JAVA_JAVA简史.mp407_初始JAVA_JAVA体系结构.mp408_初始JAVA_JAVA特性和...

    深入理解java构造器机理

    在 Java 编程语言中,构造器是一种特殊的方法,用于初始化对象的创建。它是 Java 类中最重要的一个概念。下面将深入讨论构造器的机理、执行顺序、作用及与其他概念的区别。 一、构造器的机理 构造器是一种特殊的...

    java_SMS.rar_OperaXML.java_java s_java sms_java 串口_java_sms

    串口初始化涉及设置波特率、数据位、停止位、校验位等参数,以确保与设备的有效通信。 2. **AT指令集**: AT指令集是GSM通信协议的一部分,用于控制GSM模块或调制解调器。通过发送特定的AT指令,开发者可以命令...

    java 初始化与方法

    Java初始化与方法是Java编程语言中的核心概念,它们在程序执行过程中起着至关重要的作用。本文将深入探讨Java中的初始化过程、方法的定义与调用,以及与之相关的源码和工具应用。 首先,让我们从类的初始化开始。在...

    CAM.zip_java 摄像头_java 视频_usb camera in java_工具_视频

    "usb_camera_in_java"表明重点在于使用Java与USB摄像头的交互。"工具"可能意味着这里包含了用于辅助开发或者演示如何使用USB摄像头的示例代码或应用程序。"视频"则进一步确认了内容与处理视频流相关。 压缩包中的...

    GA.rar_GA_GA in java_GA java_Just for You

    标签“ga ga_in_java ga_java just_for_you”进一步强调了这个资源主要与遗传算法(ga)有关,特别是其在Java语言(ga_in_java, ga_java)中的应用,而且这个资源是特别为用户提供的(just_for_you)。 从压缩包子...

    java代码的初始化顺序demo

    静态初始化块(也称为静态初始化器)是在类被加载并初始化时执行的,且只执行一次。它用于初始化类级别的静态变量。在`init`目录下的文件可能包含了不同静态初始化的示例。 3. **实例化阶段**: 当我们创建一个新...

    Java类继承初始化顺序

    当我们谈论“Java类继承初始化顺序”时,涉及到的关键知识点包括构造器、成员变量的初始化、super关键字以及方法的覆盖。 首先,了解类初始化的顺序至关重要。当创建一个子类实例时,初始化过程遵循以下步骤: 1. ...

    java面试题-类的初始化顺序.doc

    如果在构造器或初始化块中依赖其他静态或非静态成员,必须确保这些成员在需要之前已经被正确初始化。否则,可能会导致程序运行时错误或者逻辑错误。 此外,静态初始化块只在类加载时执行一次,而初始化块(也称为...

    CRMEB小程序商城 JAVA_v2.0公测版,CRMEB_JAVA_BETA_v2.0(20211211).zip

    初始化引导,让新手都可以了如指掌 WEB PC UI全面更新 多模版选择 小程序代码包下载 不运行uniapp代码直接启动微信小程序 移动端 模版通知 商品排行 简报优化 砍价返回优化 Java框架更新 权限安全框架 Spring ...

    card_reader_in_Java_CARD_cardjava_888_

    "card_reader_in_Java_CARD_cardjava_888_"这个标题暗示了我们正在讨论一个Java应用程序,该程序设计用于读取智能卡(CARD)上的数据,并可能与特定的API或协议(如PC/SC,Java Card API等)进行交互。描述中的"ito ...

    java_base1_lang.rar_java_base1_lang ppt

    3. **方法与构造器**:函数的定义与调用,以及构造器在对象初始化中的作用。 4. **数组**:一维数组和多维数组的声明、初始化和操作。 5. **字符串**:Java中的String类,其不可变性、字符串连接和常用方法如...

    java初级视频教程系列之-java初始化

    默认构造器(无参构造器)会在没有显式定义构造器时自动提供,但也可以自定义构造器来满足特定的初始化需求。 4. **成员变量初始化**:成员变量可以在类的初始化块(也称为实例初始化块)或构造器中初始化。初始化...

Global site tag (gtag.js) - Google Analytics