this的作用以及this调用本类的构造方法

package String;
/*
 * 简单的写了一个接收本类的引用
 * 所谓引用:引用传递就是指将堆内存空间的使用权交给多个栈内存空间
 * 接收本类的引用:实际上在对象引用传递上也可以在一个类中接收自己的本类对象的实例,而且接收完之后,方便通过此对象直接进行本类中封装属性的访问
 */
public class StringDemo3 {
public static void main(String[] args) {
    person p2 = new person();
    p2.settemp(80);//修改temp的值
    p2.function(p2);// 此处把person的对象p2 传回到自己的类中
    System.out.println(p2.gettemp());
}
}
class person{
    private int temp = 20; //申明一个成员属性并进行封装
    public void settemp(int temp)
    {
        this.temp = temp;
    }
    public int gettemp()
    {
        return temp;
    }
    public void function(person p) //接受本类的引用
    {
        p.temp = 50;  //直接通过对象调用本类的私有属性
    }
}
时间: 2024-10-13 04:19:24

this的作用以及this调用本类的构造方法的相关文章

类的构造方法和析构方法

创建类的构造方法有两种: 1.在类里声明一个与类名相同的方法名(PHP4,不推荐用). 2.声明一个__construct()方法. 因为构造方法在对象创建完成后会自动调用,所以用构造方法来将类的成员属性初始化(赋值); class Person{ var $name; var $age; var $sex; function __construct($a="",$b=100,$c="male"){//给参数变量赋初值,因为如果在new对象的时候没有传值会报警告 $

(转)在JSP中调用JAVA类和使用JavaBean有什么区别?

在JSP中调用JAVA类和使用JavaBean有什么区别? 可以像使用一般的类一样使用JavaBean,Bean只是一种特殊的类.特殊在可以通过<jsp:useBean   />调用JavaBean而其他类,可以和一般java中一样使用.  Bean的参数中还可以指定范围, <jsp:useBean  scope="application"   />该Bean在服务器的JVM中将只有一个实例. Bean是和WebServer相关的,不同的页面可以通过Bean 交

mapreduce程序调用各个类的功能

转自:http://www.cnblogs.com/z1987/p/5052409.html 1.map类 map类继承了库类中的Mapper,即Mapper<KEYIN, VALUEIN, KEYOUT, VALUEOUT>.通常map类中会重写map方法,map每次只接受一个key-value,然后对其进行预处理,再分发出处理后的数据.其map方法为: protected void map(Object key, Value value, Context context) throws I

C#反射调用程序集类中方法

建立类 class OperatorClass { /// <summary> /// 加法 /// </summary> /// <param name="x"></param> /// <param name="y"></param> /// <returns></returns> /// public static int Add(int x, int y) { r

java使用this关键字调用本类重载构造器

在构造器中可以调用本类的其他重载构造器,不能使用构造器名称来调用另一个构造器,而是应该使用Java特定的this(-.)来调用. this(-.)方法必须出现在构造器中的第一行,用来调用其他重载构造器.调用时参数必须严格匹配. 这种调用方式的优点在于一个构造器可以不必重复编写其他构造器中已有的代码,而是通过调用其他构造函数以实现复用,从而提供良好和类代码结构. public class Teacher { private String name; private String gender; p

C#1(.net和C#的关系、VS与.net的对应关系、VS2012常用的几种应用程序、C#定义一个类的方法、类页面内容的解释、定义Person的类、调用Person类的方法、命名规范、数值类型)

1..net和C#的关系 .net是一个开发平台,C#是应用在.net平台上的一种语言.   2.VS与.net的对应关系  3.VS2012常用的几种应用程序 第一种是Windows窗体应用程序,也即是我们常用的C/S端的应用软件: 第二种是控制台应用程序,主要是用来学习调试C#代码的(老师上课应用的模式): 第三种是空Web应用程序,建立空的网页模式,B/S模式: 第四种是Web 窗体应用程序,建立后会生成一些常用的网页组件和功能,例如JS.image等,也是B/S模式. 4.C#定义一个类

kettle中调用java类

有时需要在kettle调用java类,如:验证.查询或自定义加密等.有时甚至连基本的数据访问都不那么简单,如获取一个存储文件或使用一个数据库连接,某些数据源可能封装在应用程序中,手工使用自定义的java客户端访问是唯一的方法.本文介绍如何在kettle中调用java类.示例代码在这里下载. 注:如果你使用kettle4.0及以上版本,也你也可以使用user defined java class 步骤实现.   Modified Java ScriptValue 步骤 关键要在kettle中使用M

[转]C#调用C++类(以COM组件的形式)

如果想用C#调用C/C++写的函数,可以先将C/C++的函数写成dll文件,由C#用DllImport的方式来调用,但是这种方法无法调用C++写的类,如果想调用C++类,可以先把C++类封装成COM组件,再由C#来调用.方法如下(以VS2008英文版为例说明) 一.新建一个Visual C++项目,类型为ATL Project,假设项目名为ComProject,直接点Finish即可. 二.在Solution Explorer的ComProject项目名上右击,选择Add->Class,选择AT

http请求POST和GET调用接口以及反射动态调用Webservices类

此代码是API.WebSrvices动态调用的类,做接口调用时很实用. Webservices动态调用使用反射的方式很大的缺点是效率低,若有更好的动态调用webservices方法,望各位仁兄不吝贴上代码. using System; using System.IO; using System.Net; using System.Text; using System.Web; using System.Collections.Generic; using System.CodeDom.Compi