内部类
普通内部类
在一个类里面创建一个类就是普通内部类
内部类实例化方法:
外部类.内部类 实例名 = 外部类实例.new 内部类();
例如:
public class Main {
public static void main(String[] args) {
Student student = new Student();
Student.Grade grade = student.new Grade();
}
}
对于上面的代码,Student是外部类,Grade是Student的内部类,student是Student的实例,grade是Grade的实例
功能或特征:
- 可以获得内部类的属性和方法(包括private修饰的),但是如果内部类被static修饰则不可以,因为static修饰的类在类加载时被写入内存,但是外部类的某些非静态修饰的属性和方法在其之后加载如内存,前者在代码执行时看后者是不存在的
局部内部类
在方法中写的类,和内部方法一样有生命域
匿名内部类
没有名字初始化类,不将实例保存到变量中,如
new Student.say();
只是调取了里面的方法;
和接口使用,这个是实现了这个接口的类,只不过是匿名的,并不是接口被new了!!!
Interface ie = new Interface(){
@override
public void hello(){
}
};
并排类
和主类并排的类,可以用作测试,但是只能主类写入public修饰
Public class Test{
}
class Apple{
}
标签:内部,Grade,实例,Student,new,public
From: https://www.cnblogs.com/geeklee/p/17183201.html