首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

第七行getName()前面没有对象?不通过对象如何可以调用方法?很不理解

2013-12-15 
第七行getName()前面没有对象?不通过对象怎么可以调用方法?很不理解public class TestJoin extends Thread

第七行getName()前面没有对象?不通过对象怎么可以调用方法?很不理解
第七行getName()前面没有对象?不通过对象如何可以调用方法?很不理解
第七行getName()前面没有对象?不通过对象如何可以调用方法?很不理解
public class TestJoin extends Thread {
   public TestJoin(String name){
 super(name);
 }
 public void run(){
 for(int i=0;i<5;i++){
 System.out.println(getName()+i);//第七行
}
 }
public static void main(String[] args) {
  
 for(int i=0;i<10;i++){
 if(i==5){
 //实例化JoinTest线程对象
Thread tj=new TestJoin("半路杀出线程"+i);
 tj.start();
 try {
 tj.join();
 } catch (InterruptedException e) {
 e.printStackTrace();
 }
 }
 System.out.println(Thread.currentThread().getName()+i);
 }
 
[解决办法]

引用:
Quote: 引用:

方法前没有对象的时候默认就是 this 了,this是只这个对象本身的方法,在楼主定义的类中本身是没有这个方法的,所以这个时候就会到它的父类中去寻找这个方法,所以楼主调用的这个方法就是Thread类的getName()方法了。
原来这样,方法前没有对象就默认是用了this呀。。那我们平时写当前类对象的方法时可以在方法名前不加this,这样不就更方便了吗??那为什么还要用this.方法名()?直接方法名()不更好


在当前类中调用本类的方法当然不用写this啦,是不是更好那倒没有这种说法,个人习惯而已吧,我一般就不写!
[解决办法]
调用父亲的方法啦,父亲有的儿子就有,所以儿子可以直接还不客气拿来用!!!

热点排行