- class Res{
- String name="wang";
- String sex="nv";
- boolean flag = false ;
- }
- class Input{
- private Res s1=new Res();
- int i1;
- int [] j1;
- Input(Res s,int i,int [] j){
- s1 = s;
- i1=i;
- j1=j;
- }
- public void set(){
- s1.name = "lily";
- s1.sex = "girl";
- i1=3;
- j1[0]=3;
- }
- }
- class cw{
- public static void main(String[] args) {
- Res s = new Res();
- int i=0;
- int []j={0};
- new Input(s,i,j).set();
- System.out.println(s.name+"."+s.sex+"."+i+"."+j[0]);//这里的s其实是和s1指向的同一个对象,这个楼上已经画图了.
- //i为什么为0,因为i就是一个基本数据类型.不存在被多个变量指向
- //j[0]是引用数据类型,可以被多个变量所指向.
- }
- }
复制代码 执行步骤:
Res s = new Res();//初始化s
int i=0; //定义一个局部变量i,又因为它是基本数据类型,不可以被多个变量指向.
int []j={0}; //定义一个int型的数组j.J是引用数据类型,它是可以被多变量指向的.
new Input(s,i,j).set();//重新给s1(也就是s)指向的变量初始化.
System.out.println(s.name+"."+s.sex+"."+i+"."+j[0]);//这里的s其实是和s1指向的同一个对象,这个楼上已经画图了.
//i为什么为0,因为i就是一个基本数据类型.不存在被多个变量指向
//j[0]是引用数据类型,可以被多个变量所指向.
如果你看了老毕视频,这些东西都有讲的哦.
|