关于内部类你所需要知道的一切

来源:互联网 发布:葛根饮料销售网络方案 编辑:程序博客网 时间:2024/06/08 02:46

内部类不管是在java,还是在安卓,都是很重要的一个知识点,那么内部类到底有哪些东西呢?有哪些我们需要理解和必须掌握的了?通过学习和个人总结了以下10条仅供初学的参考:

public class Outside{//外部类

  private int x=3;
public (static) class Intside{//是内部类
int x=4;
void methods(){
int x=6
System.out.println("请输入"+x+"的值");
1:答案肯是6
2:改成this.x,指的是内部类的x,值是4
3:改成Outside.this.x,值是3

}

}
//外部类方法
void outsideMethod(){

//外部类访问内部类,需要实例化内部类对象
Intside b =new Intside();
}


}



public class Outside2{//其他的外部类

 问题:Outside2怎么访问Intside内部类的成员
Outside.Intside a=new Outside.new Intside()


}
总结,1:就是内部类可以直接访问外部类的成员,包括私有  
           2:外部类要访问内部类,必须建立内部类的对象
           3:内部类Intside是所属Outside外部类的成员(也可以说内部类在外部类的成员位置
                上),也可以private,但是如果外 部类Outside私有,其他的外部类Outside2是不
                 能访问他的  的外部类Outside2
           4:为什么内部类可以直接访问外部类,是因为内部类中持有一个外部类的引用,引用
               是外部类名.this
            5:当内部类在外部类的成员位置上,内部类具备static的特性,当内部类被static修饰后,只能访问外部类的                     静态成员了。
那么其他的外部类Outside2里面怎么访问static修饰的内部类的非静态成员呢?可以通过以下方法
new Outside.Inoutside().methods()
       其他的外部类Outside2里面怎么访问static修饰的内部类的静态成员呢?
Outside.Inoutside().methods(),直接类名访问
           6:注意注意:当内部类中有静态成员,其内部类必须是静态的,否则不能访问
           7:当所属外部类的中的静态方法访问内部类的时候,内部类必须是静态的
           8:为什么要内部类,类是用来干嘛的,描述现实中事物的,当描述事物时,事物的内部还有事物,用内部类                    描述,内部事物需要直接访问外部事物(方法或者属性) 的时候,可以用内部类,这个时候内部类最好封装                  private,内部事物外界不用暴露出来        
           9:内部类可以写在外部类的任何地方,成员位置包括局部,那么我们调用methed()方法的时候,function()会                    被调用吗?是不会的,要有内部类对象才可以  
class   Outside(){
int x=4;
void methed(){
class(){局部内部类,访问规则没有变,局部内部类是不能定义静态成员的
void function(){

  }
     }
  }
}
         10:匿名内部类的写法
                假设有抽象父类或者接口AbsDemo,但是没有子类,可以这样创建匿名内部类子类对象,以下代码就是,匿名                 内部类的子类的对象
    new AbsDemo(){
void chongxie(){
System.out.print("我这一大块就是匿名内部类的子类");
    }
}
最后感谢访问我博客的朋友,后面的内容会不断更新和丰富的的,初始写博客,可能写得不好,只是希望与和我一样在学习的朋友共勉:可以加我QQ1830502395,进行学习交流

0 0
原创粉丝点击