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.内部类可以访问外围类的私有 ...
随机推荐
- 使用内省方式操作JavaBean
内省,英文中称作introspector.主要对javaBean进行操作,JavaBean是一个特殊的Java类,该类中方法名符合特定的规则(其实就是getXXX,setXXX),我们一般是利用get ...
- SharePoint SiteCollection Administrator
到网上去找怎么取到一个站点的sitecollection Administrator, 如果设置了一个站点的 sitecollection Administrator, 那么通过: SPSite ...
- 2015前端各大框架比较(angular,vue,react,ant)
前端流行框架大比拼 angular vue react ant-design angularjs angular是个MVVM的框架.针对的是MVVM这整个事.angular的最主要的场景就是单页应用, ...
- Spring中 bean定义的parent属性机制的实现分析
在XML中配置bean元素的时候,我们常常要用到parent属性,这个用起来很方便就可以让一个bean获得parent的所有属性 在spring中,这种机制是如何实现的? 对于这种情况 tra ...
- JavaScript实现多栏目切换效果
效果: 代码: <!doctype html> <html> <head> <meta http-equiv="Content-Type" ...
- Visual Studio 2013 RTM 中文语言包官方下载地址发布
如果你下载的是英文版,你想安装一个中文的visual studio 2013,那么你大可不必重新下载安装visual studio 2013,因为微软提供了Visual Studio 2013 RTM ...
- POJ 2039 To and Fro(模拟)
To and Fro Description Mo and Larry have devised a way of encrypting messages. They first decide sec ...
- php返回相对时间(如:20分钟前,3天前)的方法
function plural($num) { if ($num != 1) return "s"; } function getRelativeTime($date) { $di ...
- js键盘控制div移动,解决停顿问题
问题版本代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <html> &l ...
- jquery validation插件
jQuery Validate验证框架详解 jQuery校验官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation 一.导 ...