接收本类的引用demo

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-08-10 17:17:29

接收本类的引用demo的相关文章

SqlLite数据库帮助类和基本DEMO

title: SqlLite数据库帮助类和基本DEMO categories: Codeing date: 2019-10-16 15:05:13 tags: [C#,编程开发,实用教程,DEMO] thumbnail: http://hemrj.cn/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20191010152920.jpg --- SqlLite数据库帮助类和基本DEMO SQLlite优点 ◇轻量级 SQLite和C/S模式的数据库软件不同,它是进程内的

类的引用和复制

#include<iostream> using namespace std; class base{ public: base(){} virtual void func(int i = 12) { cout<<"base "<<i<<endl; } }; class Derived:public base{ public: Derived(){} virtual void func(int i = 22) { cout<<

c++中两个类互相引用的问题

最近在改一个C++程序的时候碰到一条警告信息,警告信息为:“ 删除指向不完整“Q2DTorusNode”类型的指针:没有调用析构函数                1> c:\users\lxw\desktop\dragonfly第二阶段实验\最终的实验版本\实验目录\dragonfly_modify\src\Q2DTorus.h(6) : 参见“Q2DTorusNode”的声明 ” 警告信息很是奇怪,其实出于强迫症的原因想要解决掉这个警告信息,而且从警告信息来看,程序也应该存在内存泄露的问题,

C# 类使用小demo

太晚了,不说了,直接上图 运行结果 C# 类使用小demo

C#使用基类的引用 and 虚方法和覆写方法

结论:使用基类的引用,访问派生类对象时,得到的是基类的成员. 虚方法和覆写方法

类相互引用问题

在C语言中,如果头文件不加任何保护的话,两个头文件相互包含会导致编译出错,如下面两个文件: a.h #include "b.h" b.h #include "a.h" 使用gcc编译的话,会报下面的错误: from main.c:2:b.h:1:15: error: #include nested too deeply #include "a.h" ^make: *** [all] Error 1 这是一个无限循环,如果加了保护性的代码,则不会出

C++中未定义类的引用。

在有时候因为类太大,需要在类在后面定义: 例如: class Y{ void f(X); }; class X{ //一些成员数据和函数 }; //error 因为c++要求任何一个变量在引用之前必须声明.,在上述定义中我们可以调换两者的顺序来实现. 但是如果形成了循环? class X{ void f1(Y) }; class Y{ void f(X); }; //error 这种就不能通过简单的调换顺序来通过编译器在调用之前必须声明的金科玉律了. 那么我们可以通过在上述中先声明? class

【C++】派生类对象初始化基类的引用

//派生类对象初始化基类的引用 //引用是别名,但这个别名只能包含派生类对象中的由基类继承来的隐藏对象 #include <iostream> using namespace std; class B { public: B() { cout<<"B"<<endl; } void fun() { cout<<"B::fun()"<<endl; } private: int x; }; class D : p

PHP单例模式实例,连接数据库对类的引用

<?php//单例模式连接数据库class pzhang{ static private $instance; private static $config; private $dbase = array( 'host' => 'localhost', 'username' =>'root', 'password'=>'root', 'dbname' =>'jmyp' ); private function __construct(){ } static public fun