内部类
概念
在一个类中定义另一个类
作用
实现类的多重继承
特性
1、内部类可以使用外部类的属性
2、可以有多个内部类
3、可以将内部类声明为static、fina、abstruct
4、外部类想使用内部类的方法,得先new内部类对象
操作
代码示例
public class InteriorTest {int a;int b;int c;class A{int a;//调用外部类属性方法public void setInteriorTestVlaue(){InteriorTest.this.a=10;InteriorTest.this.b=20;InteriorTest.this.c=30;}//调用内部类变量public void setAVlaue(){this.a=100;}}//外部类想使用内部类的方法,得先new内部类对象public void setInfo(){new A().setInteriorTestVlaue();}//定义外部类方法void showInteriorTestVlaue(){System.out.println(this.a);System.out.println(this.b);System.out.println(this.c);}public static void main(String[] args) {InteriorTest interiorTest=new InteriorTest();interiorTest.setInfo();interiorTest.showInteriorTestVlaue();}}
内部类作用:实现类的多重继承
以使用内部类变相的实现类的多重继承,可以同时继承多个类
如下类InteriorTest02想同时获得类A和类B的方法并且重写
//定义两个类:类A和类Bclass A{public void TestA(){System.out.println("我是类A,我最棒!");}}class B{public void TestB(){System.out.println("我是类B,我最棒!");}}//定义外部类InteriorTest02public class InteriorTest02 {//定义内部类InnerA继承类Aprivate class InnerA extends A{@Override//重写类A的方法public void TestA() {System.out.println("这是重写之后的TestA方法");}}////定义内部类InnerB继承类Bprivate class InnerB extends B{//重写类A的方法@Overridepublic void TestB() {System.out.println("这是重写之后的TestB方法");}}//外部类调用内部类方法public void setA(){new InnerA().TestA();}public void setB(){new InnerB().TestB();}public static void main(String[] args) {InteriorTest02 interiorTest02=new InteriorTest02();interiorTest02.setA();interiorTest02.setB();}}
