Java面向对象-内部类
内部类定义:在类的内部定义的类;
内部类优点:可以方便的额使用外部类的属性;
内部类缺点:破坏类的基本结构;
个人建议,慎用内部类;
我们先来看一个示例:
package com.java1234.chap03.sec06; /** * 外部类 * @author user * */ public class Outer { private int a=1; /** * 内部类 * @author user * */ class Inner{ public void show(){ System.out.println(a); // 可以方便的额使用外部类的属性; } } public void show(){ Inner inner=new Inner(); inner.show(); } public static void main(String[] args) { Outer outer=new Outer(); outer.show(); } }
这里我们间接的使用了调用了内部类里的方法;
我们下面再来写一个直接使用内部类里的方法的实例:
我们新建一个TestInner类:
写一个main方法 我们现在不使用Outer里的show()方法 我们要直接调用Inner里的show()方法,
package com.java1234.chap03.sec06; public class TestInner { public static void main(String[] args) { Outer outer=new Outer(); Outer.Inner inner=outer.new Inner(); inner.show(); } }
本来的话 Inner inner=new Inner(); 即可 但是Inner是内部类 所以java语法规则要求 要加下Outer. 以及outer. 前缀 一个是类名前缀 一个是对象前缀;