黑马程序员技术交流社区
标题:
这个引用不太明白
[打印本页]
作者:
惠晖
时间:
2012-11-13 14:57
标题:
这个引用不太明白
class Res
{
String name;
String six;
}
class Input implements Runnable
{
private Res r;// 我想知道这个是什么意思
Input(Res r)
{
this.r=r;
}
public void run()
r.name //难道这个r是对象么 怎么可以调用name 跟sex的??????????
r.sex
}
作者:
张学永
时间:
2012-11-13 15:02
class Res
{
String name;
String six;
}
class Input implements Runnable
{
private Res r;//这个是Input里面的成员啊,表示Res类里面的对象,就是说Input类里面有这个成员,它是Res的一个实例对象
Input(Res r)//初始化Input,你就传入了这个对象
{
this.r=r;
}
public void run()
r.name //这个r就是你传入的那个Res类的实例化对象啊,它可以调用自己的成员的。。。因为name和sex是Res这个类的成员
r.sex
}
作者:
颜峰
时间:
2012-11-13 15:14
这是在Input类中定义了一个成员属性,属性类型是引用类型Res s,可以跟String str;一样理解,一个引用的是自定义的类,一个是String,你可以调用str.length()等方法,当然就可以调用s对象的方法和属性
作者:
黑马_宋超
时间:
2012-11-13 15:14
private Res r;就是你声明了一个Res类型的对象,
r.name这里面r就是一个Res类型的对象,所以可以调用Res这个类的name和sex属性
作者:
张学永
时间:
2012-11-13 15:27
张学永 发表于 2012-11-13 15:02
class Res
{
String name;
你传入的那个r就是对象的。。。它应该是Res r = new Res();你传入的r不就是对象么?
作者:
陈军
时间:
2012-11-13 16:24
class Res
{
String name; //把name和sex作为Res的属性变量,也称为字段
String six;
}
class Input implements Runnable
{
private Res r;// 这个表示把Res类引用变量r作为此类的 属性成员。
Input(Res r) //这句表示通过构造函数传递Res对象,并把传进来的对象r赋值给 此类的属性r。this表示当前调用的对象
{
this.r=r;
}
public void run()
r.name //上面通过构造传递了Res实例对象, 又由于你上面字段没有私有化,所以可以直接访问Res类的字段。
r.sex
}
作者:
王阳
时间:
2012-11-13 20:49
class Res
{
String name;
String six;
}
class Input implements Runnable
{
private Res r;// 我想知道这个是什么意思
Input(Res r)
{
this.r=r;
}
public void run()
r.name //难道这个r是对象么 怎么可以调用name 跟sex的??????????
r.sex
}
class TestMain{
public static void main(String [] args ){
Input input = new Input(new Res());
}
}
也许这样看你应该能更明白些,构造函数里面传的就是一个实例对象,所以在Input类里,可以调用
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2