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.内部类可以访问外围类的私有 ...
随机推荐
- Linux下查看系统配置
CPU 1. lscpu:显示cpu架构信息 [xxx@localhost ~]$ lscpu Architecture: x86_64 CPU op-mode(s): -bit, -bit Byte ...
- thinking in java 读书笔记 --- overriding private method
一个对象可以被用作它自身的类型或者是它的基类类型.当用作它的基类类型时叫做upcasting,如下所示 BaseClass ref = new DerivedClass() //upcasting ...
- GUI编程笔记(java)02:java.awt和java.swing包的区别
1. java.awt和java.swing两者的概述 java.awt:(java的标准包) Abstract Window ToolKit (抽象窗口工具包),需要调用本地 ...
- spring jar包、文档官网下载
一.spring的官方网址:http://spring.io/ 二.看到这个简洁清新的界面,导航很明确,进入projects whatever the infrastructure needs of ...
- 传送门(portal)
Linux: #RHEL/CentOS/fedora系列为主 Basis: Commands: Services: SpamAssassin: Tomcat: Hadoop: Hive: Pig: Z ...
- Bootstrap学习——起步
一,前言 个人不是专业从事前端开发,但在一个小公司里工作,作为有过这样经历的程序员都知道,开发一个网站或者是一个管理系统,程序员基本所有的事都包了,真是什么都要懂一点啊.而我个人也不怎么喜欢写CSS和 ...
- linux下查找文件
1,find 经常在linux下工作,总要查找一些文件,于是就搜索的学习了一下 find 指定目录 指定条件 指定动作 举例:find . -name "my*" 查找 当前目录下 ...
- ios>android>javaee
外面就业很多年的认识给出来我这个结论,请问各位有什么看法?
- [GDI+] 生成缩略图的类文件SmallImage (转载)
直接看代码吧,大家可以直接复制使用 /// <summary> /// 类说明:SmallImage类, /// 编码日期:2012-08-20 /// 编 码 人: 苏飞 /// 联系方 ...
- C# 基础 知识点
类型 1.decimal为高精度浮点数,常用于货币计算,然后它不是基本类型,所以性能相对float和double要差. 2.@用于字符串前使转义字符 \ 无效,甚至能将回车当作换行符直接赋值给字符串 ...