`
rzheny
  • 浏览: 9142 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

this关键字、值传递和引用传递

 
阅读更多
1.this关键字
  this的用途:
  1.可以区分属性和对象;
  2.this可以调用构造方法。
  this关键字表示:表示当前调用方法的对象。
public class Person {

	
		String name;
		int height;
		int age;
	
		//构造方法
				public Person(){
					this("wang");
					}
			public Person(String n){
					name=n;
				}
	//普通方法
		public int setHeight(int height){
			this.height=height;
			return(height);
		}
		public int setAge(int age){
			this.age=age;
			return(age);
		}
		public String setName(String name){
			this.name=name;
			return(name);
	   }
		public void grow(){
			
			System.out.println(name+"身高"+height+"年龄"+age+"正在成长中");
		}

}

public class Exam {

	/**实验人类的正确性
	 * @param args
	 */
	public static void main(String[] args) {
		// 实例化一个人类
		Person per1=new Person();
		//给人类赋初值
		 per1.setName("王");
		per1.setHeight(180);
		per1.setAge(18);
		
	    //调用方法
		per1.grow();
	
	   
		

	}

}

2.值传递
  适用于8大类型加String
  即byte int short long char boolean float double String
  1.可以实现值的传递;
  2.占用不同的内存空间;
  3.值传递完后,修改一个内存中的值对其他值没有影响。
 
 int m=68;
	   int n;
	   n=m;
	   m++;
	   System.out.println("m的值为"+m);
	   System.out.println("n的值为"+n);
	   

3.引用传递(地址传递)也叫值传递
  引用传递适用的java对象类型(类类型 引用类型 复杂数据类型)
  对象类型:1.定义的类;
            2.定义的接口;
            3.定义的抽象类;
            4.数组。
  传递方式:
  1.传递的是对象中存储的地址;
  2.可以多个对象指向同一个地址;
  3.其中一个对象将改地址中的属性修改后,所以对象中该属性的值均改变;
  4.将一个对象的地址赋给另外一个对象后,该对象原来的存储地址将由java的垃圾回收机制   
    GC自动销毁,释放内存空间。
public static void main(String[] args) {
		// 实例化一个人类
		Person per1=new Person();
		Person per2=new Person();
		//给人类赋初值
		 per1.setName("王");
		per1.setHeight(180);
		per1.setAge(18);
		
	   //将per1赋值给per2
	   per2=per1;
	   per1.setName("mike");
	   
	   
	    //调用方法
	 		per1.grow();
	     //调用方法
			per2.grow();
	 
	 
	   
		

	}
分享到:
评论

相关推荐

    一步一步学JAVA(第四课 方法、值传递、this关键字).docx

    一步一步学JAVA(第四课 方法、值传递、this关键字)

    JavaScript函数的调用以及参数传递

    Note 注意 this 是保留关键字,你不能修改 this 的值。 调用 JavaScript 函数 函数中的代码在函数被调用后执行。 作为一个函数调用 实例 function myFunction(a, b) { return a * b; } myFunction(10, 2); // ...

    JavaScript调用模式与this关键字绑定的关系

    this的值取决于调用的模式,调用模式:方法,函数,构造器和apply调用模式 this被赋值发生在被调用的时刻。不同的调用模式可以用call方法实现 var myObject = { value: 0, increment: function (inc) { this.value...

    C#中this的使用实例分析

    1.代表当前类,在当前类中可使用this访问当前类成员变量和方法(需要注意的是 静态方法中不能使用this),也可用于参数传递,传递当前对象的引用。 示例代码如下: class Program { static void Main(string[] args...

    Script56.rar

    通过构造函数将一个参数作为特定的 this 关键字的值传递给新创建的空对象。然后构造函数负责为新对象执行适应的初始化(创建属性并给出其初始值)。完成后,构造函数返回它所构造的对象的一个参数。

    3.尚硅谷_佟刚_java基础_面向对象

    类和对象 信息的封装和隐藏 构造方法 方法的重载 this 关键字 函数的参数传递 package语句/import语句

    JavaSE_1_面向对象_1

    面对对象,封装性,构造方法,匿名对象,类设计题目,String类,String类相关操作方法,引用传递深入,this关键字,接受本类引用,信息的隐藏封装,java源文件的基本结构,常用的包,面向对象编程术语

    java基础语法

    java开发的基本语法 1 注释、分隔符、标识符和关键字 2 数据类型 3 方法、变量 4 值传递和关键字this 5 标准输入输出 6 编码惯例

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

    matlab导入excel代码-WithBeingIT:Java,注意事项

    3)String,Integer,Double等immutable类型的特殊处理,可以理解为值传递,形参操作不会影响实参对象。 this关键字加与不加到底有什么区别? 虽然this调用方法可以省略this关键字,但是JAVA编译器会自己添加上 简言之...

    基于JavaScript自定义构造函数的详解说明

    运算符new首先创建一个新的没有任何属性的对象,然后调用该函数,把新的对象作为this关键字的值传递。var date = new Date()的伪代码的实现就是 var obj = {}; var date = Date.call(obj); 构造函数的

    JS中改变this指向的方法(call和apply、bind)

    this是javascript的一个关键字,随着函数使用场合不同,this的值会发生变化。但是总有一个原则,那就是this指的是调用函数的那个对象。 this一般指向的是当前被调用者,但也可以通过其它方式来改变它的指向,下面将...

    在一小时内学会 C#(txt版本)

    使用例程,简单却完整的探索 C# 语言的构造和特点。本文特别适合有 C++ 基础却没有太多精力学习 C# 的读者。 关于作者 Aisha Ikram 我现在在英国一家软件公司任技术带头人。我是计算机科学的硕士。我主要使用 ...

    Keo:用于创建无状态 React 组件的功能性更强的 Deku 方法的普通函数,以及诸如 compose、memoize 等功能性好东西...免费

    npm: npm install keo --save目录Keo 哲学的核心是你不应该处理this关键字的概念——虽然在 ES2015 中this关键字变得更容易管理,但它在 React 组件中似乎完全没有必要。 因此,Keo 采取了更加方法,将props 、 ...

    零起点学通C++多媒体范例教学代码

    9.4.2 引用一个按值返回的堆中对象 9.4 -3引用一个按别名返回的堆中对象 9.4.4 在哪里创建,就在哪里释放 9.5 总结 第10章 深入函数 10.1 函数重载 10.1.1 普通函数的重载 10.1.2 成员函数的重载 10.2 函数的默认...

    零起点学通C++学习_多媒体范例教学代码

    9.4.2 引用一个按值返回的堆中对象 9.4 -3引用一个按别名返回的堆中对象 9.4.4 在哪里创建,就在哪里释放 9.5 总结 第10章 深入函数 10.1 函数重载 10.1.1 普通函数的重载 10.1.2 成员函数的重载 10.2 函数...

    C++中this指针用法详解及实例

    本文简单介绍this指针的基本概念,并通过一个实际例子介绍this指针用于防止变量命名冲突和用于类中层叠式调用的两个用法。 this指针概览 C++中,每个类 对应了一个对象,每个对象指向自己所在内存地址的方式即为...

    深入浅析c/c++ 中的static关键字

    原因:非static 成员方法里是没有this指针的,所以在里面调用非static 成员方法时,无法传递this指针。static 成员方法不需要this指针。 重点:初始化static成员变量,要在类的外面。 #include using namespac

    java培训机构内部预习文档

    面向对象 类和对象、实例变量、构造方法、方法重载、引用的概念、this关键字 chp7.面向对象三大特性 封装、继承、多态、对象创建过程、访问修饰符、super关键字、方法重写、instanceof chp8.三个修饰符 static、...

    JavaScript中的this妙用实例分析

    JavaScript关键字this始JS脚本能够根据使用这个关键字的上下文将值传递给函数。 我们先来看如下一个网页,在用户单击链接之后,弹出一个alert框,然后再转到href属性所指的网页 HTML: <!DOCTYPE html> <...

Global site tag (gtag.js) - Google Analytics