我看到很多网上说,this指向实例类!所以,静态内部类能使用this。
我不知道为什么别忍着要这么说,我觉着这话错了,别的不说,上代码,
如果我错了,求指正,勿喷!public class A {
private static class B{
public int a ;
public int b ;
public B a(int a){ this.a = a ; return this;}
public B b(int val){ b = val ; return this;}
}
public static void main(String[]args){
B a = new B();
B b = new B();
a.a = 1 ;
b.a = 2 ;
System.out.println(a.a+":"+b.a);
B c ;
c = a.a(3).b(5);
System.out.println(a.a+":"+b.a+":"+a.a+":"+c.b);
}
}很想然,我的静态内部类B使用了this!可能别人说静态内部类不能有this深有它意,我不懂的咯。
如果我错了,求指正,勿喷!欢迎观摩此帖!

解决方案 »

  1.   

    说的是static 方法/代码块里不能使用this。怎么变成static类里了?
      

  2.   


    深意到没有,只是想证明下,在static函数里,是可以用thi指针的!
      

  3.   


    呵呵,别喷,老兄,我是在逛帖子的时候,逛到某一Java静态内部类文章时看到的,
    此人路径如下:http://bbs.csdn.net/topics/390597370?page=1#post-395621873
    我截图给你
    图里面,是他在讲Java静态内部类使用的时候,讲到内部类时写的话。
    ---------------------
    我顺着帖子,搜了蛮多关于Java静态内部类的帖子,然后看了看,发现基本上是互相转载!
    也就是说,基本上都是这个问题,于是,发了这个贴,证实下静态内部类中可以用this ...
      

  4.   

    静态内部类是可以用this的,但静态方法,静态块是不能用的。
      

  5.   

    public static B a(int a){ 
                this.a = a ; return this;}
            public B b(int val){
                b = val ; return this;}
        }   
    这里你如果这么写就是不对了。
      

  6.   


    我这么写怎么不对呢 ?
    静态类中可以使用this,在静态类的静态方法中不可以使用this