Java面向对象-内部类

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.  前缀 一个是类名前缀 一个是对象前缀;

posted on 2016-10-17 17:16  eaglezb  阅读(167)  评论(0编辑  收藏  举报

导航