# 内部类
[TOC]
## 什么是内部类
>[info] 在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称之为内部类。
> 与之对应,包含内部类的类被称之为外部类。
~~~
public class Person {
private int age;
private String name;
private String height;
public Person() {
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getHeight() {
return height;
}
public void setHeight(String height) {
this.height = height;
}
class eye {
//眼皮
public String eyelid;
private int size;
public eye(){}
}
}
~~~
## 内部类的分类
* 成员内部类
* 方法内部类
* 静态内部类
* 匿名内部类
## 内部类的优缺点
内部类在整体的程序设计中最大的缺点就是破坏了良好的程序结构,但是其最大的优点就是我们可以方便的访问外部类中的私有成员。所以之所以会存在内部类,是因为更多的时候我们希望某一个类只为单独一个类服务。