二.This关键字分析
This的用途如下代码所示 :
代码一: //创建一个学生对象:一个参数的构造器 String name=”Net Java”; Student st1=new student(name); //构造时,传入名字参数 Public Student(String name){ This.name=name; }
此时的this指代的就是st1.若此处没有this,,则是参数值传给参数,无意义。
代码二:
//定义一个构造方法 protected Student(){ this("无名");//调用带一个字符串参数的构造方法 } //重载构造方法 public Student(String name){ this.name = name; }
此代码中this("无名")是调用带一个字符串参数的构造方法。另外,当一个对象调用方法时,那么方法中的this就代表这个对象。注意:调用构造函数的时候,所带的参数必须要完全一致。
二.值传递
值传递适用于Java中的八大基本数据类型和String。
值传递方式:
值传递是将变量i的值拷贝一份存入到另一个变量t,此时在栈内存中就存在了两块独立存储空间,分别存储了i和t,这时候对其中任意一个变量进行修改都不会影响到另外一个。如果想要两边都是修改后的值,那么就只能在修改后,将值重新再赋值一次。
如下代码说明:
代码三: Public class Student{ Public void changeInt(int){ t=10 } Public static void main(String[] args){ Student st1=new Student(); Int i=100; St1.changeInt(i); System.out.println(“这里i的值是:”+i); } }
程序的输出结果是100;这里说明,方法中改变i和t的值,不会影响到调用代码中i的值。
三.引用传递
引用传递适用引用数据类型。
引用传递的方式:
引用传递是将对象名stu中存储的地址拷贝一份存入到stu2中,此时两个对象名就指向了同一个对象;现在适用其中任何一个对象名,来修改对象的属性值,那么另一个对象名的也会跟着改变(这就相当于1个人有两个名字)。
如下代码表明:
//实例化(创建)对象
Student stu = new Student("李四");
//实例化(创建)对象
//Student stu2 = new Student("张三");
//stu2 = stu;//赋值操作
Student stu = new Student("李四");
//实例化(创建)对象
//Student stu2 = new Student("张三");
//stu2 = stu;//赋值操作
此时,stu的地址赋给stu2.此时,stu2和stu指向同一地址。
<!--EndFragment-->
相关推荐
总的来说,`this` 关键字是 Java 中用于表示对象实例自身的一个关键字,它帮助我们访问成员变量、区分同名变量、在构造器间传递参数以及实现链式方法调用。理解并熟练运用 `this` 关键字对于编写清晰、高效的 Java ...
#### `this`关键字与方法重载的关系 方法重载是指在同一个类中,允许有多个同名但参数列表不同的方法。在方法体中使用`this`关键字不会影响方法重载的选择。方法重载的选择依据是传入参数的数量和类型。 #### 小结...
### Java中的this关键字详解 #### 一、概述 在Java编程语言中,`this`关键字是一种非常实用且灵活的关键字,它主要用于指代当前对象。`this`可以在类的内部被使用,帮助开发者清晰地表达代码逻辑,尤其是在解决...
### JavaScript 的继承方法小结(Prototype、Call、Apply) #### 一、JavaScript 原型继承 -- Prototype 在 JavaScript 中,“一切皆对象”。通过 `new` 关键字创建的对象是函数对象,而直接赋值的对象则是一般...
JavaScript中的this关键字是一个非常灵活的关键字,它在不同的上下文中指向不同的对象,这取决于函数是如何被调用的。在面向对象的语言如Java或C#中,this关键字通常指向调用它的对象实例。但在JavaScript中,情况略...
5.2.7 this关键字 5.3 构造函数与析构函数 5.3.1 构造函数 5.3.2 析构函数 5.4 本章小结 5.5 上机练习 5.6 习题 第6章 域、属性与事件 6.1 域 6.1.1 域的初始化 6.1.2 只读域与readonly关键字 6.2 属性 6.2.1 属性...
JavaScript中的`this`关键字是一个非常重要的概念,它用于引用当前执行环境的对象。`this`的值不是在函数定义时确定的,而是在函数被调用时根据调用方式动态决定的。下面我们将深入探讨`this`的基本问题及其应用场景...
在构造函数内部,我们可以使用`this`关键字来创建对象的属性。例如: ```javascript function UserObject(parameter) { this.firstProperty = parameter; this.secondProperty = "This is the second property...
#### 七、引用传递与 this 关键字 - **引用传递**:在Java中,对象是以引用的形式传递的,这意味着传递的是对象在内存中的地址,而不是对象本身的拷贝。 - **this 关键字**: - 强调本类的方法:可以使用`this`...
7.11 小结:多方位理解Java方法 191 7.12 习题 192 第8章 Java中的包(Package)命名习惯和注释 193 教学视频:43分钟 8.1 Java中的包(Package) 193 8.1.1 Java中的包 193 8.1.2 在Eclipse中使用包 194 ...
7.11 小结:多方位理解Java方法 191 7.12 习题 192 第8章 Java中的包(Package)命名习惯和注释 193 教学视频:43分钟 8.1 Java中的包(Package) 193 8.1.1 Java中的包 193 8.1.2 在Eclipse中使用包 194 ...
2. **`__fastcall`**:这种约定尽可能地使用寄存器传递参数,通常前两个DWORD类型或较小的参数通过ECX和EDX寄存器传递,其余参数按从右向左的顺序压栈。被调用函数在返回前清理栈。在不同的编译器和平台上,`__...
- **`this`** 关键字用于引用当前对象,它可以用来区分同名属性和方法,也可以在构造方法中调用其他构造方法,或者作为方法的参数传递。 - **`super`** 关键字则用来引用父类的实例,它可以访问父类的成员,并调用...
- **定义索引器**:使用this关键字定义索引器。 - **使用索引器**:像数组一样访问对象。 **13.3 小结** - 事件和索引器提供了更高级别的功能,有助于构建更加复杂和灵活的应用程序。 #### 十四、继承 **14.1 C#...
4.2.2 局部变量与字段同名的解决——this关键字 54 4.2.3 语句 55 4.2.4 全局变量 55 4.3 返回值 56 4.3.1 返回值类型 56 4.3.2 从方法返回 57 4.4 参数 58 4.4.1 参数的分类 58 4.4.2 引用参数(ref参数) 59 4.4.3...
在方法调用模式中,函数被调用时,其内部的this关键字被自动绑定到该对象上。这意味着方法内的this引用的是方法所属的对象。例如: ```javascript var myObject = { name: "myObject", value: 0, increment: ...
使用new关键字调用构造函数时,会自动创建一个新对象,并将构造函数的作用域赋给新对象。构造函数模式的例子: ```javascript function Person(name, age, job) { this.name = name; this.age = age; this.job =...