您的位置:首页 > 其它

内部类的访问一

2016-07-21 15:35 141 查看
public class Test1_OutterAndInner {
public static void main(String[] args) {

【一:访问成员内部类】

//Outter.Inner inner1= new Inner();//内部类对象的创建,需要由外部类对象来创建--->创建外部类对象
Outter outter= new Outter();//1:创建外部类对象
Outter.Inner inner=
outter.new Inner();//2:通过外部类对象创建内部类
//上面两行代码可以简写成如下形式:Outter.Inner inner=new Outter.new Inner();

System.out.println("Outter中Inner的name为:"+inner.name);

//-----------------------------------------------------------------------------
//在访问静态内部类时,静态内部类  是类相关的 ,所以无需先new外部类对象
//故静态内部类对象的创建为:Outter2.inner inner=
new Outter2.inner();//只有一个new

【二:访问静态内部类】

Outter2.Inner2 inner2= new Outter2.Inner2();

System.out.println("Outter2中Inner2的AGE为:"+inner2.age);
System.out.println("Outter2中Inner2的weight为:"+Outter2.Inner2.weight);

//---------------------------------------------------------------------------------

【三:访问局部内部类】

//局部内部类的访问:只能在局部中进行访问
new Outter3().show();
}
}

class Outter3{
void show(){
/*
在声明局部内部类Inner3之前如果使用了,则编译报错--->注意局部内部类要先声明,后使用
 * Inner3 i3= new Inner3();
System.out.println("Outter3中Inner3中的cm为:"+i3.cm);
*/
class Inner3{ //局部内部类:当类出现在局部位置时
   什么是局部位置呢?{ }括起来的中间,当然,类体除外
int cm=3;

}
Inner3 i3= new Inner3();//注意局部内部类要先声明,后使用
System.out.println("Outter3中Inner3中的cm为:"+i3.cm);
}
}

//内部类:类中还有类,可以出现在类中的任何位置。   这样的类叫做内部类,嵌套类
class Outter{//1:成员内部类

class Inner{//我们称Inner为Outer的内部类,称Outter为Inner的外部类
String name="小明";
//称Test1_OutterAndInner以及其他包中的类为Innner的外部【其他】类。

}
}

class Outter2{
 static class Inner2{//静态内部类,类被static修饰了      
int age=5;
 
//原来学习的时候,说了类只被public修饰或者不修饰
static double weight =98.0;
 
//现在学到了,当类作为内部类,作为外部类的成员时,可以被其他成员修饰符修饰
}
}
class A{
void haha(){

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  内部类的访问