`
徐静1570453590
  • 浏览: 9695 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

this关键字与传递方法小结

阅读更多

二.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,此时在栈内存中就存在了两块独立存储空间,分别存储了it,这时候对其中任意一个变量进行修改都不会影响到另外一个。如果想要两边都是修改后的值,那么就只能在修改后,将值重新再赋值一次。

如下代码说明:

 代码三:

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;这里说明,方法中改变it的值,不会影响到调用代码中i的值。

 

 

三.引用传递

引用传递适用引用数据类型。

引用传递的方式

引用传递是将对象名stu中存储的地址拷贝一份存入到stu2中,此时两个对象名就指向了同一个对象;现在适用其中任何一个对象名,来修改对象的属性值,那么另一个对象名的也会跟着改变(这就相当于1个人有两个名字)。

如下代码表明:

//实例化(创建)对象

Student stu = new Student("李四");

//实例化(创建)对象

//Student stu2 = new Student("张三");

//stu2 = stu;//赋值操作

 此时,stu的地址赋给stu2.此时,stu2stu指向同一地址。

 

 

<!--EndFragment-->
1
1
分享到:
评论

相关推荐

    Java中this关键字使用小结

    总的来说,`this` 关键字是 Java 中用于表示对象实例自身的一个关键字,它帮助我们访问成员变量、区分同名变量、在构造器间传递参数以及实现链式方法调用。理解并熟练运用 `this` 关键字对于编写清晰、高效的 Java ...

    Java零基础-this关键字.md

    #### `this`关键字与方法重载的关系 方法重载是指在同一个类中,允许有多个同名但参数列表不同的方法。在方法体中使用`this`关键字不会影响方法重载的选择。方法重载的选择依据是传入参数的数量和类型。 #### 小结...

    this关键字的总结.doc

    ### Java中的this关键字详解 #### 一、概述 在Java编程语言中,`this`关键字是一种非常实用且灵活的关键字,它主要用于指代当前对象。`this`可以在类的内部被使用,帮助开发者清晰地表达代码逻辑,尤其是在解决...

    js的继承方法小结(prototype、call、apply)(推荐).docx

    ### JavaScript 的继承方法小结(Prototype、Call、Apply) #### 一、JavaScript 原型继承 -- Prototype 在 JavaScript 中,“一切皆对象”。通过 `new` 关键字创建的对象是函数对象,而直接赋值的对象则是一般...

    javascript this用法小结

    JavaScript中的this关键字是一个非常灵活的关键字,它在不同的上下文中指向不同的对象,这取决于函数是如何被调用的。在面向对象的语言如Java或C#中,this关键字通常指向调用它的对象实例。但在JavaScript中,情况略...

    Visual C# 2010程序设计教程(教程PPT+源代码)

    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基本问题实例小结

    JavaScript中的`this`关键字是一个非常重要的概念,它用于引用当前执行环境的对象。`this`的值不是在函数定义时确定的,而是在函数被调用时根据调用方式动态决定的。下面我们将深入探讨`this`的基本问题及其应用场景...

    Javascript 自定义类型方法小结

    在构造函数内部,我们可以使用`this`关键字来创建对象的属性。例如: ```javascript function UserObject(parameter) { this.firstProperty = parameter; this.secondProperty = "This is the second property...

    Java的面向对象

    #### 七、引用传递与 this 关键字 - **引用传递**:在Java中,对象是以引用的形式传递的,这意味着传递的是对象在内存中的地址,而不是对象本身的拷贝。 - **this 关键字**: - 强调本类的方法:可以使用`this`...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    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 ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    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 ...

    CC++函数参数压栈相关 小结

    2. **`__fastcall`**:这种约定尽可能地使用寄存器传递参数,通常前两个DWORD类型或较小的参数通过ECX和EDX寄存器传递,其余参数按从右向左的顺序压栈。被调用函数在返回前清理栈。在不同的编译器和平台上,`__...

    java面向对象编程总结

    - **`this`** 关键字用于引用当前对象,它可以用来区分同名属性和方法,也可以在构造方法中调用其他构造方法,或者作为方法的参数传递。 - **`super`** 关键字则用来引用父类的实例,它可以访问父类的成员,并调用...

    C#完全手册(PDF格式 )

    - **定义索引器**:使用this关键字定义索引器。 - **使用索引器**:像数组一样访问对象。 **13.3 小结** - 事件和索引器提供了更高级别的功能,有助于构建更加复杂和灵活的应用程序。 #### 十四、继承 **14.1 C#...

    轻松学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...

    js 函数调用模式小结

    在方法调用模式中,函数被调用时,其内部的this关键字被自动绑定到该对象上。这意味着方法内的this引用的是方法所属的对象。例如: ```javascript var myObject = { name: "myObject", value: 0, increment: ...

    JavaScript创建对象方法实例小结

    使用new关键字调用构造函数时,会自动创建一个新对象,并将构造函数的作用域赋给新对象。构造函数模式的例子: ```javascript function Person(name, age, job) { this.name = name; this.age = age; this.job =...

Global site tag (gtag.js) - Google Analytics