`
cakin24
  • 浏览: 1368054 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

构造函数与this

    博客分类:
  • java
阅读更多

一 问题提出
如果系统中包含多个构造器,其中一个构造器的执行体完全包含另一构造器的执行体,如下图所示,我们怎样组织构造器代码呢?


 
二 问题解决
1 代码示例

public class Apple
{
	public String name;
	public String color;
	public double weight;
	public Apple(){}
	// 两个参数的构造器
	public Apple(String name , String color)
	{
		this.name = name;
		this.color = color;
	}
	// 三个参数的构造器
	public Apple(String name , String color , double weight)
	{
		// 通过this调用另一个重载的构造器的初始化代码
		this(name , color);   //a
		// 下面this引用该构造器正在初始化的Java对象
		this.weight = weight;
	}
}

 2 代码分析

  • 上面的Apple类里包含了三个构造器,其中第三个构造器通过this来调用另一个枸造器的初始化代码,a处代码调用表明调用该类另一个带两个字符串参数的构造器。
  • 使用this调用另一个重载的构器只能在构造器中使用,而且必须作为构造器执行体的第一条语句,使用this调用重载构造器,系统会根据this后括号里的实参来调用形参列表与之对应的构造器。
  • 大小: 20.6 KB
分享到:
评论

相关推荐

    没有可用的复制构造函数或复制构造函数声明

    最后,虽然这个问题是关于复制构造函数和赋值运算符的,但这也提醒我们,当使用自定义类型与标准库容器结合时,需要确保我们的类型符合STL的要求,以便它们可以无缝地工作。这包括提供正确的构造函数、赋值运算符,...

    实验_构造函数与析构函数.doc

    实验_构造函数与析构函数.doc 本实验的主要目的是了解和掌握构造函数和析构函数的定义、使用和重载。在本实验中,我们将学习如何定义和使用构造函数、析构函数,并了解this指针的作用和用法。 构造函数 构造函数...

    构造函数实例(源码)

    复制构造函数主要用于深拷贝或浅拷贝,以确保新对象与原对象具有相同的数据。例如: ```cpp class MyClass { public: MyClass(const MyClass& other) { // 复制构造函数 this->myValue = other.myValue; // 其他...

    构造函数和实例

    与普通函数不同的是,构造函数通常在使用new操作符时被调用。在JavaScript中,构造函数常用于创建类的实例。 当涉及到构造函数和实例时,有几个知识点是必须掌握的: 1. 构造函数与实例的关系: 构造函数是创建...

    18_构造函数 视频

    例如,一个构造函数可以调用另一个具有不同参数的构造函数,通过`this(参数列表)`来实现。 在Java中,我们还可以使用构造函数的引用来创建对象。例如,通过`new 类名(参数列表)`,可以调用匹配的构造函数并创建一个...

    构造函数与析构函数_构造函数ppt_

    在编程领域,特别是面向对象编程(Object-Oriented Programming,OOP)中,构造函数与析构函数是两个至关重要的概念。它们在类的生命周期管理中扮演着核心角色,确保对象的正确初始化和清理。本PPT文件"3.1构造函数...

    枚举类型与构造函数.doc

    枚举类型与构造函数 枚举类型是一种特殊的数据类型,它可以在程序中定义一组固定的常量,例如星期几、颜色、性别等。在Java中,枚举类型可以使用enum关键字来定义。枚举类型的优点是可以避免使用 MAGIC NUMBER,...

    构造函数(转)

    - **定义**:虽然不是构造函数,但它与复制构造函数相似,用于将一个对象的值赋给另一个对象。 - **示例**: ```cpp class Complex { public: Complex& operator=(const Complex& rhs) { if (this == &rhs) ...

    C++实现 类string的 普通构造函数, 拷贝构造函数 析构函数 和赋值函数

    在自定义类设计中,通常需要实现四个特殊成员函数:普通构造函数、拷贝构造函数、析构函数和赋值运算符。这些函数是面向对象编程中的核心组成部分,对于理解和创建高效、安全的对象至关重要。 **普通构造函数**: ...

    聚合中类的构造函数调用顺序

    在编程领域,特别是面向对象...在实际编程中,可能还会遇到诸如构造函数链、构造函数注入等高级概念,这些都是理解并优化构造函数调用顺序的关键。总的来说,熟悉并掌握这些知识能帮助我们编写出更加高效、可靠的代码。

    复制构造函数引用this指针静态成员

    复制构造函数引用this指针静态成员.ppt

    不要轻视拷贝构造函数与赋值函数

    ### 不要轻视拷贝构造函数与赋值函数 在C++编程中,拷贝构造函数和赋值函数是理解类的重要组成部分。虽然这两种构造函数通常由编译器自动提供,但它们对于确保数据安全性和类的行为正确性至关重要。本文将深入探讨...

    Javascript 设计模式之构造函数模式.zip

    JavaScript设计模式是编程实践中一种优秀的代码组织方式,它总结了在特定场景下解决常见问题的最佳实践。...在实际开发中,构造函数模式常常与其他设计模式(如工厂模式、单例模式等)结合使用,以应对更复杂的场景。

    PHP面构造函数,析构函数

    根据提供的文件内容,我们可以整理出关于 PHP 构造函数与析构函数的相关知识点: ### 一、PHP构造函数 在 PHP 中,构造函数是类的一个特殊方法,它会在对象创建时自动调用。构造函数的主要作用是初始化对象的属性...

    Java语言基础入门教程 Java实训教程 4.类构造函数-this-静态属性方法-instanceof运算符共55页.pptx

    - 在构造函数中可以通过`this`关键字调用其他构造函数,通过`super`调用父类构造函数。 - 调用其他构造函数时,必须首先调用该构造函数,然后再定义本构造函数的主体部分。 #### 三、`this`关键字 `this`关键字...

    C++构造函数详解及显式调用构造函数.pdf

    构造函数的名称与类名相同,且无返回类型。构造函数可以分为四种:无参数构造函数、一般构造函数、复制构造函数和类型转换构造函数。 一、 构造函数的作用 构造函数的主要作用是初始化对象的数据成员。当编译...

    Java:构造函数与对象

    ### Java:构造函数与对象 #### 第一章:构造函数揭秘——创造者的第一次触碰 在Java编程语言中,构造函数扮演着极其重要的角色。它是一种特殊的成员方法,主要用于对象的初始化过程。构造函数没有返回类型,其...

    C++拷贝构造函数和赋值操作

    这里的拷贝构造函数首先检查 `this` 指针是否指向与 `other` 相同的对象,如果是,则直接返回,避免自拷贝。接下来,它通过调用 `strdup` 函数来复制 `other` 对象中的字符串缓冲区到新对象中。 #### 赋值操作 ...

    js定义类 对象 构造函数,类的继承

    当使用`new`关键字调用构造函数时,它会创建一个新的对象实例,并将其`this`指向这个新对象。 ```javascript // 定义构造函数 function Person(name, age) { this.name = name; this.age = age; } // 使用构造...

    c#函数方法,构造函数与析构函数

    在C#编程语言中,函数方法、构造函数与析构函数是对象导向编程的重要组成部分,它们各自承担着不同的角色,并且对于程序的正确运行和优化性能具有重要作用。下面将详细介绍这三个概念及其用法。 ### 函数方法 在C#...

Global site tag (gtag.js) - Google Analytics