内部类:

一 非静态内部类

//非静态内部类
//非静态内部类可任意调用外部类的局部变量,无论是否private
//在外部类中要实例化内部类:InnerClass inner = new InnerClass();
//其他类中实例化内部类:1.Test.InnerClass inner = new Test.new InnerClass();
// 2.Test t = new Test();
// t.InnerClass inner = t.new InnerClass();
//
class Test{
int i = 1;
class InnerClass{
public void run(){
System.out.println("outclass field = " + i);
}
}
public void run(){
InnerClass inner = new InnerClass();
}
}
class RunTest{
Test t = new Test();
t.InnerClass inner = t.new InnerClass();
//或者
Test.InnerClass inner = new Test.new InnerClass();
}

二 局部内部类

/**
* 局部内部类
* 1.局部内部类和局部变量作用相同,只在局部范围有效
* 2.局部内部类中可以直接调用外部类的成员变量
* 3.外部类创建局部内部类对象InClass inClass = new InClass();
* * **/
public class OutClass {
int i = 8;
public void run(){
class InClass{
public void run(){
System.out.println("run field i = " + i);
}
}
InClass inClass = new InClass();
inClass.run();
} }

三 静态内部类

/**
* 静态内部类
* 1.静态内部类也可正常访问外部类成员变量
* 2.外部类实例化内部类InClass inClass = new InClass();
* * **/
public class OutClass {
static int t = 6;
static class InClass{
int i = 5;
int j = t;
}
public void run(){
InClass inClass = new InClass();
System.out.println(inClass.i);
}
}

四 匿名内部类

标准创建方式

new anonymous{

};

使用

/**
* 匿名内部类
* **/
public class InnerClass4 {
public static void main(String[] args) {
Thread t = new Thread(){
public void run(){
for(int i = 1 ; i < 6 ; i++){
System.out.println(i + " Ÿ ");
}
}
};
t.start();
Runnable r = new Runnable(){
public void run(){
for(int i = 6 ; i < 11 ; i++){
System.out.println(i + " U ");
}
}
};
Thread t1 = new Thread(r);
t1.start();
}
}

java--4种内部类的更多相关文章

  1. java 四种内部类和内部接口

    /** * 常规内部类:常规内部类没有用static修饰且定义在在外部类类体中. * 1.常规内部类中的方法可以直接使用外部类的实例变量和实例方法. * 2.在常规内部类中可以直接用内部类创建对象 * ...

  2. Java 四种内部类

    静态内部类:类中静态类 成员内部类:类中非静态类 局部内部类:类中方法中有名字的类 匿名内部类:类中方法中无名的类 引言:在Java中通常情况下,一个类中会有属性和方法,但还可以包含内部类,内部类可以 ...

  3. java四种内部类

    内部类有成员内部类,局部内部类,匿名内部类,静态内部类. 1,成员内部类package innerClass; public class InnerClassTest { String s1=&quo ...

  4. java四种内部类详解

    一般来说,有4中内部类:常规内部类.静态内部类.局部内部类.匿名内部类. 一.常规内部类:常规内部类没有用static修饰且定义在在外部类类体中.   1.常规内部类中的方法可以直接使用外部类的实例变 ...

  5. Java基础(54):java四种内部类详解(转)

    一般来说,有4中内部类:常规内部类.静态内部类.局部内部类.匿名内部类.  一.常规内部类:常规内部类没有用static修饰且定义在在外部类类体中. 1.常规内部类中的方法可以直接使用外部类的实例变量 ...

  6. Java的四种内部类

    Java的四种内部类包括如下: 成员内部类 静态内部类 局部内部类 匿名内部类 成员内部类: 定义在另一个类(外部类)的内部,而且与成员方法和属性平级叫成员内部类,......相当于外部类的非静态方法 ...

  7. java内部类及四种内部类的实现方式

     java内部类及四种内部类的实现方式 一.内部类定义:内部类分为: 成员内部类.静态嵌套类.方法内部类.匿名内部类. 二.为何要内部类?a.内部类提供了某种进入外围类的窗户.b.也是最吸引人的原因, ...

  8. Java的四种内部类(含代码实例)

    写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...

  9. Java中的四种内部类

    Java中有四种内部类: 成员内部类:定义在另一个类(外部类)的内部,而且与成员属性和方法平级,故称成员内部类.类比于外部类的非静态方法,如果用static修饰就变成了静态内部类 静态内部类:使用st ...

  10. java中的几种内部类

    Java中的几种内部类 内部类,听名字就可以知道是什么意思,就是类里面的类.有成员内部类,静态内部类,局部内部类和匿名内部类. 下面说一个每种内部类的的使用. 一.  成员内部类

随机推荐

  1. C++之路进阶——bzoj1455(罗马游戏)

    F.A.Qs Home Discuss ProblemSet Status Ranklist Contest ModifyUser  gryz2016 Logout 捐赠本站 Notice:由于本OJ ...

  2. 封装application类

    <?php  //判断用户是否是通过入口文件访问   if(!defined('ACCESS')){     echo '非法请求';     die;   }   //封装初始化类   cla ...

  3. ls -l 列表信息详解

    我们平时用ls -l 命令查看一个目录下的文件和子目录的详悉信息时,会得到一个详细的文件和目录名列表.这个列表包含了文件的属性,所属用户,所属组,创建时间,文件大小等等信息.这些信息到底是什么意思呢? ...

  4. 部署ganglia3.7

    环境 centOS6.6 gmetad节点关闭iptable gmetad和httpd只需要在一台节点安装,gmond需要在每台节点上安装. 一.安装epel源 sudo wget http://do ...

  5. Java实现文件的读写,复制

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStr ...

  6. clock sense和analysis mode

    PrimeTime会自动track clock tree中的inverter和buffer,从而得到每个register的clock sense. 如果clock tree中,只有buffer和inv ...

  7. Perl中的匹配(六)

    在Perl中,匹配的定界符如果是双斜线//,可以直接使用双斜线完成匹配操作. 如果特定条件下需要改变定界符,如改为{},[]等.需要加入m,m{},m[]等. m%^http://% 默认的模式匹配对 ...

  8. zw版【转发·台湾nvp系列Delphi例程】HALCON AddNoiseWhite

    zw版[转发·台湾nvp系列Delphi例程]HALCON AddNoiseWhite unit Unit1;interfaceuses Windows, Messages, SysUtils, Va ...

  9. [py]安装ipython

    系统:crunch bang11+python2.7.3 准备工具: sudo apt-get install python-pip python-dev build-essential 安装setu ...

  10. mysql创建视图

    CREATE ALGORI`sync_user`CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER V ...