今天来复习下内部类的一些基础知识。

首先是内部类的分类:

1、成员内部类

2、静态内部类

3、匿名内部类

4、局部内部类

下面逐一来介绍下。

首先是成员内部类,就是将内部类作为一个成员变量来处理。具体例子如下:

public class ChengYuanInnerClass {

     private int num=3;

     class InnerClass{

         private int num=4;

         public void test(){
int num =5;
System.out.println("test.num="+num);
System.out.println("innerclass.num="+this.num);
System.out.println("ChengYuanInnerClass.num="+ChengYuanInnerClass.this.num);
}
} public static void main(String[] args) {
ChengYuanInnerClass.InnerClass innerClass = new ChengYuanInnerClass().new InnerClass();
innerClass.test();
}
}

结果:

test.num=5
innerclass.num=4
ChengYuanInnerClass.num=3

静态内部类是指作为一个静态类放置在某个类内部。

public class StaticInnerClass {

     private static int num =3;

     static class InnerClass{
private static int num =4; public static void test(){
int num = 5;
System.out.println("test.num="+num);
System.out.println("innerClass.num="+InnerClass.num);
System.out.println("StaticInnerClass.num="+StaticInnerClass.num);
//static是在类还没有调用构造参数实例化类之前就已经被执行,所以this这个是不正确的。
}
} public static void main(String[] args) {
StaticInnerClass.InnerClass.test();
}
}

结果:

test.num=5
innerClass.num=4
StaticInnerClass.num=3

3、匿名内部类:是针对某个接口只有一个方法时,我们为了方面代码的编写,直接new该接口实现其内部的这个唯一方法。

public class NiMingInnerClass {

     public static void main(String[] args) {
String[] fileNames = new File("/Users/test").list(new FilenameFilter() { @Override
public boolean accept(File dir, String name) {
return name.endsWith("txt");
}
});
if(null!= fileNames && fileNames.length!=0){
for(String filename : fileNames){
System.out.println(filename);
}
}
}
}

java基础随笔-内部类的更多相关文章

  1. Java基础 随笔整理

    Java基础随笔整理 为了方便阅读,特整理了相关的学习笔记 Java感想 操千曲而后晓声 Java入门 Java其他 Java虚拟机详解 语言入门百题 Java开发工具 · Eclipse Java语 ...

  2. java基础之 内部类

    Java中的内部类共分为四种: 静态内部类static inner class (also called nested class) 成员内部类member inner class 局部内部类loca ...

  3. Java基础(53):内部类(转)

    java中的内部类总结 内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑.肢体.器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行 ...

  4. Java基础(五)--内部类

    内部类简单来说就是把一个类的定义放到另一个类的定义内部 内部类分为:成员内部类.局部内部类.匿名内部类.静态内部类 成员内部类:最常见的内部类 public class Outter { privat ...

  5. java基础之 内部类 & 嵌套类

    参考文档: 内部类的应用场景 http://blog.csdn.net/hivon/article/details/606312 http://wwty.iteye.com/blog/338628 定 ...

  6. java基础语法-内部类与匿名内部类

    1.成员内部类(声明在类内部&&方法之外) class Person{ String name = "韩梅梅"; int age; class Bird{ Stri ...

  7. JAVA基础知识|内部类

    一.什么是内部类? 内部类(inner class)是定义在另一个类中的类 为什么使用内部类? 1)内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据 2)内部类可以对同一个包中的其他类隐藏 ...

  8. Java基础加强-内部类及代理

    /*内部类是一个编译时的概念,*/ 常规内部类.静态内部类.局部内部类.匿名内部类 1.常规内部类(常规内部类没有static修饰且定义在外部类类体中) 1.常规内部类中的方法可以直接使用外部类的实例 ...

  9. Java基础教程——内部类

    内部类 内部类(inner class)是定义在另一个类中的类 内部类的好处: |--1.隐藏机制:内部类封装性更好,隐藏在一个类之中,同一包中的其他类也不能访问 |--2.内部类可以访问外围类的私有 ...

随机推荐

  1. NDK开发之JNIEnv参数详解

    即使我们Java层的函数没有参数,原生方法还是自带了两个参数,其中第一个参数就是JNIEnv. 如下: native方法: public native String stringFromC(); pu ...

  2. java io 文件操作

    package com.svse; import java.io.File; import java.io.IOException; public class IOTest { public stat ...

  3. angularjs ng-repeat checkbox

    <div class="col-md-3" ng-repeat="user in title.UserList"> <p class=&quo ...

  4. readonly时禁用删除键,readonly按删除键后页面后退解决方案

    readonly时禁用删除键, readonly按删除键后页面后退解决方案 >>>>>>>>>>>>>>>&g ...

  5. python: pandas模块

    10分钟入门 pandas 评:我跟作者的智商差距是有多大,才能让我用60分钟看完作者认为10分钟的内容... 详细内容见 Cookbook 习惯上我们先导入 : In [1]: import pan ...

  6. SqlServer循环读取配置

    USE [DB_JP_BaseInfo00] GO /****** Object: StoredProcedure [dbo].[sp_wx_getAppointmentInfo_Str] Scrip ...

  7. 利用jQuery npoi插件 asxh一般处理文件实现excel的下载

    最近开发的过程中遇到这么一个问题,利用ajax和ashx文件实现下载功能.发现代码调试走完之后并没有弹出下载框. 研究了一段时间之后发现解决这种问题有两种方法,1.ajax获取数据集在前台做处理实现导 ...

  8. <>跟!=

    这两个是没有区别的,都是不等于

  9. site与subsite

    1.List template只能加载在主站点上,加载在主站点上之后,其subsite也能引用: 2.发布webpart的时候,路径也只能写网站集的路径,发布到网站集之后其主站点和subsite都能引 ...

  10. acrobat GetSize 返回 x,y 值单位

    GetSize:LPDISPATCH GetSize();Description:Gets a page’s width and height in points.Parameters:Return ...