黑马程序员技术交流社区
标题:
关于内部类的定义以及访问方法与权限
[打印本页]
作者:
xyxlx111
时间:
2015-7-18 23:51
标题:
关于内部类的定义以及访问方法与权限
什么是内部类?
一个类定义在另一类的里面,那里面的类就被称为内部类
内部类的特点是什么?
内部类可以直接访问外部类的非私有成员和私有成员
外部类可以访问内部类里的内容,但是,要先创建内部类对象,然后再对其进行访问
内部类分为哪几种?
成员内部类:
如果成员内部类被public修饰的时候:
例:
class Outer {
public class Innner {
int i = 2;
public void eat() {
System.out.println("吃");
}
}
}
class Demo {
public static void main(String[] args) {
Outer.Inner oi = new Outer().new Inner();
Systme.out.println(oi.i);
oi.eat();
}
}
如果成员内部类被private修饰的时候:
例:
class Outer {
private class Inner {
int i = 2;
public void eat() {
Systme.out.println("吃");
}
}
public void print() {
Inner inner = new Inner();
inner.eat();
System.out.println(inner.i);
}
}
class Demo {
public static void main(String[] args) {
Outer outer = new Outer();
outer.print();
}
}
如果成员内部类被static修饰的时候:
例:
class Outer {
static class Inner {
int i = 2;
public void eat() {
System.out.println("eat");
}
}
}
class Demo {
public static void main() {
Outer.Inner oi = new Outer.Inner();
oi.eat();
System.out.println(oi.i);
}
}
局部内部类:
例:
class Outer {
public void print() {
class Inner {
int i = 2;
public void eat() {}
}
Inner inner = new Inner();
inner.eat();
System.out.println(inner.i);
}
}
class Demo {
public static void main() {
Outer outer = new Outer();
outer.print();
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2