构造函数这里先解释一段代码:
public class Alone{
//构造一个函数
public Alone(){ //x1
System.out.println("你好~~"); //x2
}
//重载函数
public Alone(String s){ //x3
this(); //x4
System.out.println(s); //x5
}
//重载函数
public Alone(int a){ //x6
this("Hello!"); //x7
System.out.println(a); //x8
}
//定义主函数入口
public static void main(String[] args){
//创建一个Alone类的对象
Alone al=new Alone(30); //x9
} //x10
}
该程序的执行顺序:x9->x6->x7->x3->x4->x1->x2->x5->x8->x10;结果为:
你好~~
Hello!
30
解释:程序先从主函数入口进入,执行x9行代码,接下来调用x6行的重载函数(有人就会纳闷这里是怎么调用的,事实程序是根据参数的不同调用的。看,30为int型,所以调用x6行的重载函数,调用其他行的程序也是这个道理,记住,根据参数不同去区别),接下来执行第七行代码,这里有个this关键字,其作用是在一个函数内调用其他函数被重载了的构造函数;
接着
this方法调用x3行重载的构造函数;接着执行(ˇˍˇ) (ˇˍˇ) x4行代码,这里的this方法调用x1行的代码,接下执行x2,x5,x8;执行到x10行代码结束程序。
关于构造函数和this关键字的几个需要重要注意的地方:
1.构造函数的名字与类名一样,没有返回值,其前面不允许有void关键字;
2.怎么知道调用的是哪个构造函数,是根据参数的不同;
3.this在花括号内必须是第一句,因为在程序中构造函数必须首先被执行;
4.不能在普通方法中调用this(...)。
分享到:
相关推荐
### ASP.NET中的this关键字 在ASP.NET开发过程中,`this`关键字是一个非常重要的概念,它在类的方法或构造函数中有着特殊的意义与用途。本文将详细介绍`this`关键字的用法及其背后的原理。 #### `this`关键字概述 ...
关键字explicit 修饰构造方法的关键字,加上了,就告诉编译器,不可以隐式初始化对象;不加就可以隐式初始化对象; 下面的代码是可以正常编译执行的,但是加了关键字explicit,编译就会错我,因为...拷贝构造函数如果
在构造函数中,`this`关键字可以用来调用同一类中的其他构造函数,从而实现串联构造函数的功能。这种方式有助于减少代码重复,提高代码的可读性和可维护性。 在给定的示例中,我们有一个名为`Person`的类,它有四个...
通过使用this关键字,构造函数能够确保每个实例都有自己的属性副本,而不会互相影响。每个实例的属性都是独立的,从而保证了面向对象程序设计中的封装特性。 5. 示例代码分析: 在给出的代码示例中,定义了一个名...
总的来说,`this` 关键字是 Java 中用于表示对象实例自身的一个关键字,它帮助我们访问成员变量、区分同名变量、在构造器间传递参数以及实现链式方法调用。理解并熟练运用 `this` 关键字对于编写清晰、高效的 Java ...
当函数作为构造函数(使用`new`关键字)调用时,`this`会指向新创建的对象。例如: ```javascript function Person(name) { this.name = name; } let person = new Person('Alice'); console.log(person....
### Java中的this关键字详解 #### 一、概述 在Java编程语言中,`this`关键字是一种非常实用且灵活的关键字,它主要用于指代当前对象。`this`可以在类的内部被使用,帮助开发者清晰地表达代码逻辑,尤其是在解决...
在这个深入理解的文章中,我们将探讨`this`在不同情况下的工作原理,包括函数调用、方法调用、构造函数调用以及箭头函数等场景。 1. 函数调用 在全局环境中,`this`默认指向全局对象,在浏览器中通常是`window`对象...
1. **this关键字的含义** `this`关键字在Delphi中代表了正在执行方法的那个对象实例。当在一个类的方法内,我们需要引用到当前对象的属性或方法时,`this`就起到了指针的作用,指向调用该方法的对象实例。通过`this...
这里,`Person`是构造函数,`this`关键字指向新创建的对象。 2. 实例化对象: 使用`new`关键字和构造函数来创建新的对象实例: ```javascript var person1 = new Person('Alice', 30); var person2 = new Person...
// 使用this关键字区分实例变量和构造函数参数 this.rollno = rollno; this.name = name; this.fee = fee; } void display() { System.out.println(rollno + " " + name + " " + fee); } } ``` 2. 调用...
在上面的代码中,我们使用了super关键字来调用父类的构造函数,并初始化了子类的实例变量likes和hope。 在测试类中,我们可以使用子类的构造函数来实例化对象,例如: ```java @Test void entitytest(){ ming ming...
- **构造函数中**:当函数作为构造函数被调用(使用 `new` 关键字)时,`this` 指向新创建的对象实例。 - **事件处理器中**:在事件处理函数中,`this` 通常指向触发事件的元素。 #### 2. 类的实现 JavaScript ...
- 在构造函数中可以通过`this`关键字调用其他构造函数,通过`super`调用父类构造函数。 - 调用其他构造函数时,必须首先调用该构造函数,然后再定义本构造函数的主体部分。 #### 三、`this`关键字 `this`关键字...
当使用`new`关键字调用构造函数时,它会创建一个新的对象实例,并将其`this`指向这个新对象。 ```javascript // 定义构造函数 function Person(name, age) { this.name = name; this.age = age; } // 使用构造...
2. **构造函数中的`this`**:在构造函数中,`this`可以用来调用同一类中的其他构造函数。这有助于代码重用和保持一致性。例如: ```java public class Student { String name; int age; public Student(String ...
`this`的值取决于函数被调用的方式,这通常分为四种情况:纯粹的函数调用、作为对象方法的调用、作为构造函数调用以及通过`apply()`或`call()`方法调用。 1. **纯粹的函数调用** 在这种情况下,函数被当作全局对象...
在java中,构造函数是一种特殊的方法,用于初始化对象的状态,而this关键字是java中的一种特殊的引用词,它可以用来调用构造函数。在本文中,我们将详细介绍java使用this调用构造函数的实现方法,并结合实例形式分析...
在C#中,可以使用this关键字来调用同一类中的其他构造函数。这有助于代码复用和避免重复的初始化代码。例如: ```csharp public class MyClass { public int Value { get; set; } public MyClass() : this(0) { ...