Java面向对象-内部类
内部类定义:在类的内部定义的类;
内部类优点:可以方便的额使用外部类的属性;
内部类缺点:破坏类的基本结构;
个人建议,慎用内部类;
我们先来看一个示例:
1 package com.java1234.chap03.sec06; 2 3 /** 4 * 外部类 5 * @author user 6 * 7 */ 8 public class Outer { 9 10 private int a=1; 11 12 /** 13 * 内部类 14 * @author user 15 * 16 */ 17 class Inner{ 18 public void show(){ 19 System.out.println(a); // 可以方便的额使用外部类的属性; 20 } 21 } 22 23 public void show(){ 24 Inner inner=new Inner(); 25 inner.show(); 26 } 27 28 public static void main(String[] args) { 29 Outer outer=new Outer(); 30 outer.show(); 31 } 32 }
这里我们间接的使用了调用了内部类里的方法;
我们下面再来写一个直接使用内部类里的方法的实例:
我们新建一个TestInner类:
写一个main方法 我们现在不使用Outer里的show()方法 我们要直接调用Inner里的show()方法,
1 package com.java1234.chap03.sec06; 2 3 public class TestInner { 4 5 public static void main(String[] args) { 6 Outer outer=new Outer(); 7 Outer.Inner inner=outer.new Inner(); 8 inner.show(); 9 } 10 }
本来的话 Inner inner=new Inner(); 即可 但是Inner是内部类 所以java语法规则要求 要加下Outer. 以及outer. 前缀 一个是类名前缀 一个是对象前缀;