Java语言基础:内部类

原创 2011年03月24日 22:29:00

 

1.  普通内部类
  • 普通内部类的一个最简单的例子:
 
  • 外部类可以访问内部类的私有成员,内部类也可以访问外部类的私有成员:
 
  • 如果外部类的成员变量与内部类的成员变量名字相同,当内部类要访问外部类的该成员时,可以使用“OutClass.this.mem”来区分:
 
  • 要创建普通内部类,必须先创建相应的外部类:
 
也可以用下面的方式:

 
2.  静态内部类
普通内部类前面加上static修饰符,就成为静态内部类,静态内部类类似于C++的嵌套类,与普通内部类相比有如下区别:
  • 静态内部类没有指向外部类的引用,外部类对于它来说更像一个名字空间。
  • 普通内部类不能有静态成员,静态方法,或另一个静态内部类;而静态内部类可以有这一切。
  • 静态内部类可以直接创建,不必先创建外部类:
 
从上面描述可以看出,静态内部类与一般类没有太大区别,只不过它是放在一个类的里面,这个类相当于它的名字空间,可以防止命名冲突。
3.  局部内部类
Java可以把一个类定义在一个方法里面,甚至是一个{}块里面,它的作用域就在这个块里面:
 
 
局部内部类的一般用途是实现某个接口,并作为这个接口传出方法被使用:
 
 
4.  匿名内部类
匿名内部类的语法如下:
 
 
 
它被认为是InterfaceName的实现者,或是SuperclassName的继承类,匿名内部类没有构建函数,如果SuperclassName有带参数的构造函数,必须在创建匿名内部类时带上这些参数,下面是匿名内部类最常见的使用场合:
 
 

 

Java语言基础面试题及答案

1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?  可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。 2、Java有没有goto?...
  • develop_wangzhi
  • develop_wangzhi
  • 2017年04月21日 11:32
  • 1124

Java 创建内部类实例

编程中需要访问内部类,写C习惯了Java方式多少有些生硬。 其实很简单: 1 拥有内部类的一个类 public class B{ public void showData() { ...
  • xiaoleiacm
  • xiaoleiacm
  • 2016年03月01日 15:28
  • 2797

java 四种内部类 使用细节(含代码)

一: 内部类     定义在类体部,方法体部,甚至比方法体更小的代码块内部的类(if 语句里面等)     1.静态内部类(内部类中最简单的形式)         1.声明在类体部,方法体外,并...
  • qq_33599978
  • qq_33599978
  • 2017年04月27日 23:28
  • 467

java内部类常见面试题汇总

1.根据注释填写(1),(2),(3)处的代码 public class Test{ public static void main(String[] args){ /...
  • tomcat_2014
  • tomcat_2014
  • 2016年04月18日 17:13
  • 2813

java内部类的四大作用

放在一个类的内部的类我们就叫内部类。 二、 作用 1.内部类可以很好的实现隐藏  一般的非内部类,是不允许有 private 与protected权限的,但内部类可以 2.内部类拥有外围类的所...
  • mid120
  • mid120
  • 2016年12月14日 19:25
  • 3455

JAVA和C++内部类

JAVA和C++内部类的异同
  • qq78442761
  • qq78442761
  • 2016年11月21日 22:52
  • 475

java内部类解析及应用场景简介

转自:http://blog.csdn.net/historyasamirror/article/details/6049073 所谓内部类,就是一个类的定义放在了另一个类定义的内部,如: ...
  • oliveevilo
  • oliveevilo
  • 2012年07月13日 17:23
  • 1750

java中的内部类完全总结

一.内部类基础   在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就...
  • pangqiandou
  • pangqiandou
  • 2016年11月19日 21:57
  • 1820

Java 四种内部类

Java 内部类  分四种:成员内部类、局部内部类、静态内部类和匿名内部类。  1、成员内部类: 即作为外部类的一个成员存在,与外部类的属性、方法并列。 注意:成员内部类中不能定义静态变量,但可以访问...
  • superit401
  • superit401
  • 2016年07月30日 18:01
  • 4727

最安全的单例模式--java使用内部类实现单例模式

实现类 public class Singleton {     private static class LazyHolder {            private static fina...
  • qq_22912803
  • qq_22912803
  • 2016年10月10日 12:57
  • 5360
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java语言基础:内部类
举报原因:
原因补充:

(最多只允许输入30个字)