反复在看这段代码
class...{.//main...}
class Quntity{...//定义get(),put()方法..}
class consumer implements Runnable
{
Quantity q; //在这里创建这个对象是最不理解的,main函数里有Quantity q=new Quantity()了么?这句的意思和用法是?
consumer (Quantity q)
{
this.q=q /*this的用法,很多人都在问。我的理解是this.q是实参,后面的q是形参,在重名的时候需要这个句子,但是有的程序里面就没有这样写的,请问有更好的解答么?偏重于这句的用法,该什么时候用*/
new Thread(this,"Consumer").start();/*这一句里this是指当前对象吧?指q么?后面为什么要加“consumer”?在main函数里,很多例子里是在main函数里调用start().为什么要在这里调用?如果要放在main里调用,应该怎么写?*/
}}
public void run(){.....}
问题多了点,一个菜鸟的思考。如果哪位高人能帮我把整个思路解释一下,将不胜感激。
并请指出我是在哪方面的理解不足,我再去看。谢谢!
class...{.//main...}
class Quntity{...//定义get(),put()方法..}
class consumer implements Runnable
{
Quantity q; //在这里创建这个对象是最不理解的,main函数里有Quantity q=new Quantity()了么?这句的意思和用法是?
consumer (Quantity q)
{
this.q=q /*this的用法,很多人都在问。我的理解是this.q是实参,后面的q是形参,在重名的时候需要这个句子,但是有的程序里面就没有这样写的,请问有更好的解答么?偏重于这句的用法,该什么时候用*/
new Thread(this,"Consumer").start();/*这一句里this是指当前对象吧?指q么?后面为什么要加“consumer”?在main函数里,很多例子里是在main函数里调用start().为什么要在这里调用?如果要放在main里调用,应该怎么写?*/
}}
public void run(){.....}
问题多了点,一个菜鸟的思考。如果哪位高人能帮我把整个思路解释一下,将不胜感激。
并请指出我是在哪方面的理解不足,我再去看。谢谢!
解决方案 »
- 数据拟合,合并,大家帮我出出主意。
- 问个final方法的问题
- 关于JDBC ResultSet 的问题,高手请指教一下。
- 关于抛出异常的问题,请大家进来帮帮我。
- 寝室里写的swt程序 带到机房里继续做,可那不能安swt插件,想问是否有方法能在无swt插件下完成swt程序的编译工作?
- JAVA核心编程中的例子:为什么这里只能调用paint而不能调用repaint??
- 小弟有一个困惑很久的问题,那问大哥愿指点迷津!!
- 我这有两段程序是一端向另一端发一段话,然后在另外一段打印出来这句话,ip地址和端口。我指定地端口号是3000,可是打印出来端口号却不是
- 为什么用访问MS SQL Server时抛出NullPointerException?
- 急!在http://www.bestdown.com/下载的JBUILDER4指南书籍该用什么阅读器阅读呀?
- 关于线程的数量,大家来谈谈
- 青岛有没有比较好的软件公司
private String s;
public void setS(String s){
this.s = s;
}
public String getS(){
return s;
}2、this一般指已经实例化的对象,也可以用来调用构造函数
this.q=q 就是说假如你new了一个consumer ,那么this.q就是指Quantity q;的这个q3、 new Thread(this,"Consumer").start();Thread
public Thread(Runnable target,
String name)分配新的 Thread 对象。这种构造方法与 Thread(null, target, name) 具有相同的作用。 参数:
target - 其 run 方法被调用的对象。
name - 新线程的名称。
另请参见:
Thread(java.lang.ThreadGroup, java.lang.Runnable, java.lang.String)
this当然就是指这个Runnable,即consumer,启动这个线程而已