`
徐静1570453590
  • 浏览: 9271 次
  • 性别: 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
分享到:
评论

相关推荐

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

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

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

    21天学通Java-由浅入深

    162 8.5.8 重写equals方法 163 8.6 final与继承的关系 164 8.7 abstract与继承的关系 165 8.8 什么是多态 166 8.9 什么是枚举类 168 8.10 什么是反射机制 169 8.11 什么是泛型 170 8.12 综合练习 172 8.13 小结 172 ...

    疯狂JAVA讲义

    8.4.4 泛型方法与方法重载 309 8.5 擦除和转换 310 8.6 泛型与数组 311 8.7 本章小结 313 第9章 与运行环境交互 314 9.1 与用户互动 315 9.1.1 运行Java程序的参数 315 9.1.2 使用Scanner获取键盘输入 316 ...

    Visual C++ 2005入门经典.part08.rar (整理并添加所有书签)

    1.7 小结 第2章 数据、变量和计算 2.1 C++程序结构 2.1.1 程序注释 2.1.2 #include指令——头文件 2.1.3 命名空间和using声明 2.1.4 main()函数 2.1.5 程序语句 2.1.6 空白 2.1.7 语句块 2.1.8 自动生成的控制台程序...

    Visual C++ 2005入门经典.part04.rar (整理并添加所有书签)

    1.7 小结 第2章 数据、变量和计算 2.1 C++程序结构 2.1.1 程序注释 2.1.2 #include指令——头文件 2.1.3 命名空间和using声明 2.1.4 main()函数 2.1.5 程序语句 2.1.6 空白 2.1.7 语句块 2.1.8 自动生成的控制台程序...

    Visual C++ 2005入门经典.part07.rar (整理并添加所有书签)

    1.7 小结 第2章 数据、变量和计算 2.1 C++程序结构 2.1.1 程序注释 2.1.2 #include指令——头文件 2.1.3 命名空间和using声明 2.1.4 main()函数 2.1.5 程序语句 2.1.6 空白 2.1.7 语句块 2.1.8 自动生成的控制台程序...

    Visual C++ 2005入门经典.part09.rar (整理并添加所有书签)

    1.7 小结 第2章 数据、变量和计算 2.1 C++程序结构 2.1.1 程序注释 2.1.2 #include指令——头文件 2.1.3 命名空间和using声明 2.1.4 main()函数 2.1.5 程序语句 2.1.6 空白 2.1.7 语句块 2.1.8 自动生成的控制台程序...

    Visual C++ 2005入门经典.part06.rar (整理并添加所有书签)

    1.7 小结 第2章 数据、变量和计算 2.1 C++程序结构 2.1.1 程序注释 2.1.2 #include指令——头文件 2.1.3 命名空间和using声明 2.1.4 main()函数 2.1.5 程序语句 2.1.6 空白 2.1.7 语句块 2.1.8 自动生成的控制台程序...

    Visual C++ 2005入门经典.part05.rar (整理并添加所有书签)

    1.7 小结 第2章 数据、变量和计算 2.1 C++程序结构 2.1.1 程序注释 2.1.2 #include指令——头文件 2.1.3 命名空间和using声明 2.1.4 main()函数 2.1.5 程序语句 2.1.6 空白 2.1.7 语句块 2.1.8 自动生成的控制台程序...

    C++大学教程,一本适合初学者的入门教材(part2)

    小结 术语 自测练习 自测练习答案 练习 第2章 控制结构 2.1 简介 2.2 算法 2.3 伪代码 2.4 控制结构 2.5 if选择结构 2.6 if/e1se选择结构 2.7 while重复结构 2.8 构造算法:实例研究1(计数器控制重复) 2.9 ...

    C++大学教程,一本适合初学者的入门教材(part1)

    小结 术语 自测练习 自测练习答案 练习 第2章 控制结构 2.1 简介 2.2 算法 2.3 伪代码 2.4 控制结构 2.5 if选择结构 2.6 if/e1se选择结构 2.7 while重复结构 2.8 构造算法:实例研究1(计数器控制重复) 2.9 ...

    C++ Primer中文版(第5版)李普曼 等著 pdf 1/3

     小结 23  术语表 23  第Ⅰ部分 C++基础 27  第2章 变量和基本类型 29  2.1 基本内置类型 30  2.1.1 算术类型 30  2.1.2 类型转换 32  2.1.3 字面值常量 35  2.2 变量 38  2.2.1 变量定义 38  2.2.2 变量...

    C++Primer(第5版 )中文版(美)李普曼等著.part2.rar

     小结 23  术语表 23  第Ⅰ部分 C++基础 27  第2章 变量和基本类型 29  2.1 基本内置类型 30  2.1.1 算术类型 30  2.1.2 类型转换 32  2.1.3 字面值常量 35  2.2 变量 38  2.2.1 变量定义 38  2.2.2 变量...

    java基础案例与开发详解案例源码全

    3.7.6 循环语句小结78 3.7.7 break语句79 3.7.8 continue语句82 3.8 JavaDebug技术84 3.9 本章练习85 第4章 4.1 一维数组90 4.1.1 为什么要使用数组90 4.1.2 什么是数组91 4.1.3 如何使用数组92 4.1.4 经验之谈-数组...

    Visual C++ 2005入门经典--源代码及课后练习答案

    1.7 小结 29 第2章 数据、变量和计算 31 2.1 C++程序结构 31 2.1.1 程序注释 36 2.1.2 #include指令——头文件 37 2.1.3 命名空间和using声明 37 2.1.4 main()函数 38 2.1.5 程序语句 38 2.1.6 ...

    visualC++2010入门经典源代码

    1.7 小结 27 1.8 本章主要内容 28 第2章 数据、变量和计算 29 2.1 c++程序结构 29 2.1.1 main()函数 36 2.1.2 程序语句 36 2.1.3 空白 38 2.1.4 语句块 38 2.1.5 自动生成的控制台程序 39 2.2 定义变量 ...

    [Visual.C++.2010入门经典(第5版)].Ivor.Horton.part1

    1.7 小结 27 1.8 本章主要内容 28 第2章 数据、变量和计算 29 2.1 c++程序结构 29 2.1.1 main()函数 36 2.1.2 程序语句 36 2.1.3 空白 38 2.1.4 语句块 38 2.1.5 自动生成的控制台程序 39 2.2 定义变量 40 2.2.1 ...

Global site tag (gtag.js) - Google Analytics