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

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 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...

    Java变量初始化

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

    Java编程思想第05章初始化与清理.ppt

    《Java编程思想》第五章主要讨论的是对象的初始化与清理,包括构造器的使用、方法重载以及默认构造器的概念。下面将详细阐述这些知识点。 ### 一、构造器确保初始化 1. **为什么要引入构造器**:在Java中,构造器...

    java初始化和清理

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

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

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

    java_SMS.rar_OperaXML.java_java s_java sms_java 串口_java_sms

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

    java 初始化与方法

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

    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静态初始化块和对象初始化块

    在Java编程语言中,初始化块是程序执行时用于初始化对象或类的重要机制。这里我们将深入探讨两种类型的初始化块:静态初始化块(Static Initializer Block)和对象初始化块(Instance Initializer Block)。这两种...

    Java类继承初始化顺序

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

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

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

    Java入门理解构造器

    在Java中,构造器(Constructor)是一种特殊的方法,主要用于初始化对象。构造器的名字必须与类名相同,并且没有返回类型,甚至连`void`也不可以有。构造器的主要任务是在创建对象时为对象分配内存并初始化成员变量...

    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. **成员变量初始化**:成员变量可以在类的初始化块(也称为实例初始化块)或构造器中初始化。初始化...

    java基础补足和thinking In Java学习.rar

    默认构造器又称为无参构造器,在没有其他构造器的情况下,JAVA会帮助类生成一个默认的构造器即无参构造器,可以被省略不写。 5.4 this关键字 1. this关键字可以指当前对象,即当前类的对象 2. this关键字在同一...

    Thinking in java4(中文高清版)-java的'圣经'

    4.4 Foreach语法 4.5 return 4.6 break和 continue 4.7 臭名昭著的“goto” 4.8 switch 4.9 总结 第5章 初始化与清理 5.1 用构造器确保初始化 5.2 方法重载 5.2.1 区分重载方法 5.2.2 涉及基本类型的重载 5.2.3 以...

Global site tag (gtag.js) - Google Analytics