前言:
最近在工作中常用到内部类,对这方面的知识点总是模凌两可,所以趁着现在需求不是很忙想好好总结一下这部分的知识点,这也是我毕业后的第一篇博客,莫名怀念上学的时候。
这次的博客我想做一些改变,以前都是对一个知识点进行总结,然后逐个分析,这样我发现当再次看的时候不便于阅读,所以这次我想尝试先分析每一种情况,然后最后再做总结,要是谁看到我的博客发现写错了或者其他的建议欢迎留言。废话少说,直接进入正题。
一、成员内部类
1、顾名思义,这种内部类直接定义在外部类(相对内部类而言)之中,和外部类的成员属性和成员方法一个级别,就像是外部类的一个成员。直接上代码
(1)在外部类之中定义方法内部类,并且互相调用对方的属性和方法
package methodInner;
public class Outer {
private int outerA ;
private int outerB ;
private static int outerC = 300;
private int publicD;
public Outer() {
}
public Outer(int outerA, int outerB, int publicD) {
this.outerA = outerA;
this.outerB = outerB;
this.publicD = publicD;
}
public void outPrint() {
System.out.println("这是外部类的outPrint");
}
public void outerWrite() {
System.out.println("这是外部类的outerWrite");
}
public class Inner{
private int innerA;
private int innerB;
private int publicD;
//方法内部类中不可以有静态变量
//private static int innerC;
public Inner() {
}
public Inner(int innerA, int innerB, int publicD) {
this.innerA = innerA;
this.innerB = innerB;
this.publicD = publicD;
}
public void print() {
System.out.println("外部的变量直接访问");
System.out.println("outerA:" + outerA);
System.out.println("outerA:" + outerB);
System.out