1.何为内部类?
一个类写在另外一个类的里面,里面的类就是内部类。
2.内部类的特点?
1.内部类可以直接访问外部类的成员,包括私有的。
2.外部类不能直接使用内部类的成员,但是可以间接使用。
3.内部类的分类?
成员内部类:
1.什么是成员内部类?
定义在类中,方法外的内部类。
实例:
class Outer {
class Inner {}
}
2.成员内部类的使用?
实例:
//内部类演示
public class feijingtai {
public static void main(String[] args)
{
Outer.lnner o = new Outer().new lnner();
System.out.println(o.i);
o.print();
Auter.A a = new Auter.A(); //直接调用类A
System.out.println(a.i);
a.print();
Buter b = new Buter(); //间接调用
b.show();
}
}
//非静态类的演示
class Outer
{
class lnner
{
int i =1;
public void print()
{
System.out.println("约吗");
}
}
}
//静态类演示
class Auter
{
static class A
{
int i = 2;
public void print()
{
System.out.println("不约");
}
}
}
//私有类演示
class Buter
{
private class B
{
int i = 3;
public void print()
{
System.out.println("考虑考虑");
}
}
public void show() //因为私有类只能在本类中调用,所以在方法里创建对象。
{
B b = new B();
System.out.println(b.i);
b.print();
}
}
局部内部类:
1.何为局部内部类?
定义在方法中的内部类。
实例:
class Outer {
public void print() {
class Inner {}
}
}
2.局部内部类怎么使用?
public class feijingtai {
public static void main(String[] args)
{
Cuter c = new Cuter(); //创建对象。
c.print(); //调用Cuter类中的方法,使之方法体内的结果运行。
}
}
//内部局部类演示
class Cuter
{
public void print()
{
class lnner
{
int i = 0;
public void show()
{
System.out.println("滚犊子");
}
}
lnner l = new lnner(); //在成员方法中新建对象。
//把需要的东西调用出来。
System.out.println(l.i);
l.show();
}
}
4.结束语
本文内部类讲解完毕,欢迎小伙伴们前来评论。