java--4种内部类
内部类:
一 非静态内部类
//非静态内部类
//非静态内部类可任意调用外部类的局部变量,无论是否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种内部类的更多相关文章
- java 四种内部类和内部接口
/** * 常规内部类:常规内部类没有用static修饰且定义在在外部类类体中. * 1.常规内部类中的方法可以直接使用外部类的实例变量和实例方法. * 2.在常规内部类中可以直接用内部类创建对象 * ...
- Java 四种内部类
静态内部类:类中静态类 成员内部类:类中非静态类 局部内部类:类中方法中有名字的类 匿名内部类:类中方法中无名的类 引言:在Java中通常情况下,一个类中会有属性和方法,但还可以包含内部类,内部类可以 ...
- java四种内部类
内部类有成员内部类,局部内部类,匿名内部类,静态内部类. 1,成员内部类package innerClass; public class InnerClassTest { String s1=&quo ...
- java四种内部类详解
一般来说,有4中内部类:常规内部类.静态内部类.局部内部类.匿名内部类. 一.常规内部类:常规内部类没有用static修饰且定义在在外部类类体中. 1.常规内部类中的方法可以直接使用外部类的实例变 ...
- Java基础(54):java四种内部类详解(转)
一般来说,有4中内部类:常规内部类.静态内部类.局部内部类.匿名内部类. 一.常规内部类:常规内部类没有用static修饰且定义在在外部类类体中. 1.常规内部类中的方法可以直接使用外部类的实例变量 ...
- Java的四种内部类
Java的四种内部类包括如下: 成员内部类 静态内部类 局部内部类 匿名内部类 成员内部类: 定义在另一个类(外部类)的内部,而且与成员方法和属性平级叫成员内部类,......相当于外部类的非静态方法 ...
- java内部类及四种内部类的实现方式
java内部类及四种内部类的实现方式 一.内部类定义:内部类分为: 成员内部类.静态嵌套类.方法内部类.匿名内部类. 二.为何要内部类?a.内部类提供了某种进入外围类的窗户.b.也是最吸引人的原因, ...
- Java的四种内部类(含代码实例)
写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...
- Java中的四种内部类
Java中有四种内部类: 成员内部类:定义在另一个类(外部类)的内部,而且与成员属性和方法平级,故称成员内部类.类比于外部类的非静态方法,如果用static修饰就变成了静态内部类 静态内部类:使用st ...
- java中的几种内部类
Java中的几种内部类 内部类,听名字就可以知道是什么意思,就是类里面的类.有成员内部类,静态内部类,局部内部类和匿名内部类. 下面说一个每种内部类的的使用. 一. 成员内部类
随机推荐
- Centos配置Caffe详解
http://www.tuicool.com/articles/uiuA3e
- spring中的bean后处理器
package com.process; import org.springframework.beans.BeansException; import org.springframework.bea ...
- 夺命雷公狗—angularjs—4—继承和修正继承
angularjs 中也有继承的方法,废话不多说,看代码: <!doctype html> <html lang="en"> <head> &l ...
- JSP-08-第三方控件的使用
添加图片 下载 commons-fileupload-1.2.2.jar和commons-io-2.4.jar 导入项目 在添加涂抹的页面设置表单属性 enctype=”multipart/form ...
- Android—监听器
网上有很多短信和电话监听的程序,使用Broadcast. 记得一年前自己对照视频和教材是能够实现的,这周打开视频和教材照猫画虎,无论怎么都不会,纠结啊! 问题原因: 3.0之后没有主动开启过的应用无法 ...
- [记录]firefox繁体转换成简体的油猴脚本
// ==UserScript== // @name 繁简转换 // @include *.* // @author yecao // @version 0.1 // @include * // @e ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON EdgesImage
zw版[转发·台湾nvp系列Delphi例程]HALCON EdgesImage procedure TForm1.Button1Click(Sender: TObject);var img0, im ...
- android 项目学习随笔五(JSON解析)
1.利用Xutils获取网络数据 /** * 从服务器获取数据 需要权限: <uses-permission * android:name="android.permission.IN ...
- 三层架构中bll层把datatable转换为实体model的理解
看了很多人的项目,很多都是用到三层架构,其中BLL层中有一种将DataTable转换为实体的方法.一直没有明白为啥要这样做,今天特意去搜索了一下,如果没有答案我是准备提问,寻求解答了.还好找到一个相关 ...
- 14 个 grep 命令的例子 【转】
转自:https://linux.cn/article-5453-1.html 编译自:http://www.linuxtechi.com/linux-grep-command-with-14-dif ...