java基础随笔-内部类
今天来复习下内部类的一些基础知识。
首先是内部类的分类:
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基础随笔-内部类的更多相关文章
- Java基础 随笔整理
Java基础随笔整理 为了方便阅读,特整理了相关的学习笔记 Java感想 操千曲而后晓声 Java入门 Java其他 Java虚拟机详解 语言入门百题 Java开发工具 · Eclipse Java语 ...
- java基础之 内部类
Java中的内部类共分为四种: 静态内部类static inner class (also called nested class) 成员内部类member inner class 局部内部类loca ...
- Java基础(53):内部类(转)
java中的内部类总结 内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑.肢体.器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行 ...
- Java基础(五)--内部类
内部类简单来说就是把一个类的定义放到另一个类的定义内部 内部类分为:成员内部类.局部内部类.匿名内部类.静态内部类 成员内部类:最常见的内部类 public class Outter { privat ...
- java基础之 内部类 & 嵌套类
参考文档: 内部类的应用场景 http://blog.csdn.net/hivon/article/details/606312 http://wwty.iteye.com/blog/338628 定 ...
- java基础语法-内部类与匿名内部类
1.成员内部类(声明在类内部&&方法之外) class Person{ String name = "韩梅梅"; int age; class Bird{ Stri ...
- JAVA基础知识|内部类
一.什么是内部类? 内部类(inner class)是定义在另一个类中的类 为什么使用内部类? 1)内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据 2)内部类可以对同一个包中的其他类隐藏 ...
- Java基础加强-内部类及代理
/*内部类是一个编译时的概念,*/ 常规内部类.静态内部类.局部内部类.匿名内部类 1.常规内部类(常规内部类没有static修饰且定义在外部类类体中) 1.常规内部类中的方法可以直接使用外部类的实例 ...
- Java基础教程——内部类
内部类 内部类(inner class)是定义在另一个类中的类 内部类的好处: |--1.隐藏机制:内部类封装性更好,隐藏在一个类之中,同一包中的其他类也不能访问 |--2.内部类可以访问外围类的私有 ...
随机推荐
- cocos2d-x Lua与OC互相调用
1. Lua 调用OC 先看例子: hello.lua: -- 点击回调函数 local function notifymenuCallbackTest() local luaoc = require ...
- 分分钟解决iOS开发中App启动广告的功能
前不久有朋友需要一个启动广告的功能,我说网上有挺多的,他说,看的不是很理想.想让我写一个,于是乎,抽空写了一个,代码通俗易懂,简单的封装了一下,各种事件用block回调的,有俩种样式的广告,一种是全屏 ...
- C#将DataTable导出Execl、Word、Xml
/// <summary> /// 将DT转换为Execl的方法 /// </summary> /// <param name=" ...
- pc机安装centos6.5,提示sda必须有一个GPT磁盘标签处理
1.在进入安装界面,也就出现图形界面时,对它命令首先创建gpt --按ctrl+alt+f2的组合键,然后进入命令行 --进行如下操作输入parted输入mklabel gpt /dev/sda在提示 ...
- asp.net页面刷新等问题
windows.open 关闭当前页面刷新父页面实现() { 在子页面中 Page.ClientScript.RegisterStartupScript(this.GetType(), "a ...
- HTML5吧
一.为了能使IE9以下的IE浏览器也能支持html5的标签,所以首先得在文档头部用条件注释的方法引入那段著名的代码. 1 2 3 <!--[if lt IE 9]> <script ...
- jquery mobile入门资料
由于项目中用到了,就去看了一下视频,然后进一步的找找资源,最后自己再总结一遍!(就是动手操作一遍,不论你感觉多简单,只有动手之后,你才有可能有收获) 当然如果你喜欢看文档可以到官网仔细研究,不过喜欢快 ...
- C#实现从EXCEL文件读取数据到SqlServer数据库
用第三方组件:NPOI组件实现 先去官网:http://npoi.codeplex.com/下载需要引入dll(可以选择.net2.0或者.net4.0的dll),然后在网站中添加引用.使用 NPOI ...
- jmeter中webdriver插件,进行自动化压测
1.下载JMeterPlugins-WebDriver-1.1.2 2.将JMeterPlugins-WebDriver-1.1.2\lib\ext中的*.jar拷贝到D:\apache-jmeter ...
- UI层调用WCF服务实例(源码)
WCF原理性的东西,暂时还没有深入研究,只是在公司的项目中使用到了,会调用,然后再多做了一些了解,现在将它抽出来了一个小实例,写了一个WCF的demo. 我写的这个WCF.Demo主要包括数据契约和服 ...