求解下面有关java的代码(尤其对第七行getName()的使用和Thread.currentThread()有困惑)

问题描述

publicclassTestJoinextendsThread{publicTestJoin(Stringname){super(name);}publicvoidrun(){for(inti=0;i<5;i++){System.out.println(getName()+i);//第七行}}publicstaticvoidmain(String[]args){for(inti=0;i<10;i++){if(i==5){//实例化JoinTest线程对象Threadtj=newTestJoin("半路杀出线程"+i);tj.start();try{tj.join();}catch(InterruptedExceptione){e.printStackTrace();}}System.out.println(Thread.currentThread().getName()+i);}

解决方案

解决方案二:
有什么不理解的啊第七行输出是对的啊,
解决方案三:
这里的函数是Stringjava.lang.Thread.getName()你就明白了吧
解决方案四:
第7行的getName()是个成员方法,只能通过对象引用。(相当于this.getName()。)在这个地方也可以用:Thread.currentThread().getName();其中Thread.currentThread()返回当前对象的引用,就是this.可以验证this.equals(Thread.currentThread())为true.getName().equals(Thread.currentThread().getName())为true.但在下面的main方法里,却不能直接用getName(),因为main()方法是静态方法。所以只能用Thread提供的静态方法currentThread()来获得当前对象的引用,再调用成员方法getName()得到线程名。
解决方案五:
Thread.currentThread().getName();返回的是Thread-1this.getname返回的是-半路杀出线程
解决方案六:
QWqwy我今天看到北大青鸟的这个代码,我也在第7行,看不明白,前面都没对象怎么调用的方法,我也是不理解

时间: 2024-09-20 06:15:20

求解下面有关java的代码(尤其对第七行getName()的使用和Thread.currentThread()有困惑)的相关文章

mysql-大神求解,初学java,

问题描述 大神求解,初学java, 在java中创建一个方法,调用方法之后需要从方法中返回两个数组,怎样才能办到 解决方案 方式有很多种, 1.二维数组的方式 2.Vector(不定长数组)嵌套的方式 3.Vector内套数组 3.List>的方式 4.List>的方式 -- 下面我用两种方式给你一个简单的demo: 1.二维数组 // 创建定长二维数组 public static int[][] getArrays(){ // 创建二维数组,2 -- 表示外层数组的长度,3表示里层数组的长度

java-大神求解,初学JAVA,多多指教

问题描述 大神求解,初学JAVA,多多指教 要对字符串进行多次分割怎么办?其中要用, . 还有空格进行分割 并统计相同的结果有多少 解决方案 先按一个符号分,分完之后存数组里,然后把数组里的字符串再按另一个符号分别split一下,以此类推,直到所有的符号都分一边,虽然方法笨,但应该好用 解决方案二: 用String里的split函数进行切割,String str="h,s,df,sd,h"; String s[] = str.split(",");以逗号进行分割.其

求民航售票系统代码用java+jsp代码 SQLserver数据库myeclipse平台

问题描述 求民航售票系统代码用java+jsp代码 SQLserver数据库myeclipse平台 用于课程设计不用太复杂,只用实现基本功能.1.用户登录2.根据时间,出发地,目的地查询机票功能3.订票4.订单查询5.退票.用java+jsp代码 SQLserver数据库myeclipse平台 解决方案 参考:http://download.csdn.net/download/angelyucc/2373156 解决方案二: 这个可以参考,但最好还是自己写吧 解决方案三: http://down

extjs java-请问使用extjs进行文件上传,extjs前台代码和java后台代码应该怎么写

问题描述 请问使用extjs进行文件上传,extjs前台代码和java后台代码应该怎么写 请问使用extjs进行文件上传,extjs前台代码和java后台代码应该怎么写 解决方案 代码复制一下.http://www.cnblogs.com/hannover/archive/2010/12/02/1894820.htmlhttp://blog.itpub.net/29870867/viewspace-1280697/ 解决方案二: extjs的上传是封装好的,你只需要在后台servlet中接收传过

java源码-求这段c语言的代码换成java的代码

问题描述 求这段c语言的代码换成java的代码 #include #define P 3.1415927#define toFeet(x) x/12.0#define toMiles(x) x/5280.0int main(){ double diameter;//直径 int revolutions;//转数 double time;//香蕉 double s; int count=1; while(scanf("%lf%d%lf",&diameter,&revolu

方法-c#转java 的 代码问题

问题描述 c#转java 的 代码问题 根据提示用什么方法完成排列 /// /// 子元素顺序类型.Combination-(A,(B|C|D)):A为首个,其它任意或DisOrder-表示没有顺序,任意 /// public SubElementType SubTypeType = SubElementType.AscOrder; 解决方案 这是枚举http://www.cnblogs.com/linjiqin/archive/2011/02/11/1951632.html 解决方案二: pu

用java编写代码,实现将多套试题,读入mysql数据库中

问题描述 用java编写代码,实现将多套试题,读入mysql数据库中 我想做一个自动生成试卷的系统,供教师使用,想把多套试卷录入数据库,用java编写代码,实现将多套试题,读入mysql数据库中 解决方案 自动生成试卷,需要做一个题库吧.通过题库的随机算法生成新的试卷 解决方案二: 是将一套样题的卷子拆解成若干道题目吗?首先要实现拆分啊,好像有点难...不如上网上直接找题目来的快 解决方案三: 是的,需要做题库,试题录入题库.试卷从中随机取出.. 解决方案四: 嗯,我已经将几套试题按题型录入数据

线程-java中this和Thread.currentThread()区别,见下代码

问题描述 java中this和Thread.currentThread()区别,见下代码 public class hello extends Thread { public hello(String name){ super(name); System.out.println(""Thread.currentThread().getname()=""+Thread.currentThread().getName()); System.out.println(&qu

Java获取代码中方法参数名信息的方法_java

前言 大家都知道随着java8的使用,在相应的方法签名中增加了新的对象Parameter,用于表示特定的参数信息,通过它的getName可以获取相应的参数名.即像在代码中编写的,如命名为username,那么在前台进行传参时,即不需要再编写如@Parameter("username")类的注解,而直接就能进行按名映射. 如下的代码参考所示: public class T { private interface T2 { void method(String username, Stri