java语言基础(46)——内部类概述及使用

来源:互联网 发布:mac不安装flash 编辑:程序博客网 时间:2024/06/06 08:38

内部类定义:

把类定义在其它类内部,这个类就被称为内部类。

内部类的访问特点:

(1)内部类可以直接访问外部类的成员,包括私有

(2)外部类要访问内部类的成员,必须new对象。

内部类的分类:

(1)成员内部类:在成员位置定义的类

(2)局部内部类:在方法内部定义的类

成员内部类的直接调用:

格式:外部类名.内部类名   对象名 = 外部类对象.内部类对象。

例如:

class Outer{class Inner{public void show(){  System.out.println("Inner show");}}}class InnerClassTest{public static void main(String[] args){          // 调用格式  Outer.Inner oi = new Outer().new Inner();  oi.show();//输出  Inner show}}

但是上述调用方法,有悖于我们的封装思想。既然是定义在类内部的类,就是为了更好的提现封装的思想。不能轻易让外界访问,所以我们一般给成员内部类加  private 权限修饰,然后,我们可以通过外部类的一个公开的方法访问内部类。

静态修饰后的内部类的调用:

静态可以修饰内部类,是因为内部类可以看做是类的成员。

格式:外部类名.内部类名  对象名  =  new 外部类名.内部类名();

例如:

 

class Outer{static class Inner{public void show(){  System.out.println("static Inner show");}public static void show2(){  System.out.println("static Inner show2");}}}class InnerClassTest{public static void main(String[] args){      // 调用格式  Outer.Inner oi = new Outer.Inner();  oi.show();//输出  static Inner show      oi.show2();//输出  static Inner show2  // 由于Inner是静态类,并且show2是静态方法,  // 我们还可以这样调用 show2  Outer.Inner.show2();}}




0 0
原创粉丝点击