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

首先是内部类的分类:

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. Validation Rule和Binding Group

    WPF学习之绑定-Validation Rule和Binding Group 在上一篇文章中我们讨论了有关WPF绑定的知识点,现在我们可以很容易的将业务数据作为源绑定到WPF控件并可以通过创建不同的D ...

  2. JS获取URL的参数

    function request(paras) { var url = location.href; , url.length).split("&"); var paraO ...

  3. C#实现从EXCEL文件读取数据到SqlServer数据库

    用第三方组件:NPOI组件实现 先去官网:http://npoi.codeplex.com/下载需要引入dll(可以选择.net2.0或者.net4.0的dll),然后在网站中添加引用.使用 NPOI ...

  4. HTML网页图片滚动代码

    <!--下面是向上滚动代码--> <div id=butong_net_top style=overflow:hidden;height:100;width:90;> < ...

  5. uniq和sort的用法

    uniq和sort都是按行操作的linux命令. sort按文本行排序,如下所示的log文件:直接sort log即可将其排序. 容易忽略的是sort -n命令,在如下例子中将看到 如果直接sort则 ...

  6. Unity_与android交互

    Unity调用Android代码 方法一: //using让 Local Ref 回收 using(AndroidJavaClass javaClazz = new AndroidJavaClass( ...

  7. TCPIP通信

    最近在开发TCPIP通信,封装了3个类,望各位大神指点指点. using System; using System.Collections.Generic; using System.Text; us ...

  8. mysql备份sql,脚本

    MySQL 安装位置:/usr/local/mysq 论坛数据库名称为:bbs MySQL root 密码:123456 数据库备份目的地:/var/db_backup/ #! /bin/bash / ...

  9. JS-运动框架

    写这段代码,是因为之前看过某前RD写过,但在测试过程中发现有不完美的地方. 问题在于判断运动停止条件这里,对于之前停止的判断太片面,只能判断一个条件值时的情况,对于多条件时,会发现运动后的各项值并未达 ...

  10. supervisor进程管理

    install :  apt-get install supervisor crete  a  xxxx.conf  file at   /etc/supervisor/conf.d the cont ...