详解内部类
来源:互联网 发布:电视mac认证状态异常 编辑:程序博客网 时间:2024/06/17 02:45
class 类 {
//1.属性
//1.属性
//4.初始化块
//3.构造函数
//2.方法
//5.内部类或枚举
}
其中1,2,3,4以前全部了解过,今天来了解下内部类
一、why\\
1. 如果一个类 只想让另一个类(外部类)使用,可以把这个类定义在外部类的内部,并且用private修饰这个类,这样由于该类使用private修饰,只能在本类中访问..
2.内部类可以方便的访问 外部类的任何成员(例如属性)
内部类常用在事件驱动编程中
二、内部类的分类(按照声明的位置分)
1.成员内部类:定义在类体内、方法外部的内部类,叫做成员内部类
(1)静态内部类
(2)非静态内部类
2.局部内部类(匿名内部类)
定义在方法内部,叫做局部内部类...
三、静态内部类
定义
package com.chapter1.演示内部类.静态内部类;//外部类public class Outer {//静态内部类private static class Inner{public void testInner(){System.out.println("内部类的方法执行");}}}
使用:
(1) 在外部类的内部使用
和以前的使用方式完全一样
(2)在外部类的外部使用
Outer.Inner inner = new Outer.Inner();
inner.testInner();
和以前的使用方式完全一样
(2)在外部类的外部使用
Outer.Inner inner = new Outer.Inner();
inner.testInner();
四、非静态内部类
public class Outer {//非静态内部类class Inner {public void testInner() {System.out.println("内部类的方法执行");}}}
使用:
(1) 在外部类的内部使用
和以前一样 直接使用就可以了
(2) 在外部类的外部使用
和以前一样 直接使用就可以了
(2) 在外部类的外部使用
知识点:非静态内部类对象 有两个指针
五、局部内部类
定义在方法体内的内部类叫做局部内部类
package com.chapter16.演示内部类.局部内部类;//外部类public class Outer {public void test(final String name){//局部内部类//定义class A {public void testAAA(){System.out.println("局部内部类的方法执行");System.out.println(name);//局部内部类中的方法 如果想访问test()方法的局部变量 //该局部变量要使用final修饰 JDK8.0开始 不需要加final}}A a = new A();a.testAAA();}public static void main(String[] args) {Outer outer = new Outer();outer.test("zzy");}}
六、匿名内部类
该类只使用一次的时候,推荐使用匿名内部类...
使用匿名内部类来绑定事件
该类只使用一次的时候,推荐使用匿名内部类...
使用匿名内部类来绑定事件
button.addActionListener(new ActionListener(){@Overridepublic void actionPerformed(ActionEvent e) {System.out.println("按钮被单击了!!!");textField.setText("Hello World!!");}});
匿名内部类的语法:
new 抽象类/接口(){//重写抽象类的方法或实现接口的方法}
相当于两步
1.
public class 无名氏 implements ActionListener{
public class 无名氏 implements ActionListener{
public void actionPerformed(ActionEvent e) {
System.out.println("按钮被单击了!!!");
textField.setText("Hello World!!");
}
}
System.out.println("按钮被单击了!!!");
textField.setText("Hello World!!");
}
}
2. new 无名氏();
阅读全文
1 0
- 内部类:非静态内部类,静态内部类,局部内部类,匿名内部类详解
- java内部类详解
- 内部类详解
- Java内部类详解
- [zt] 内部类详解
- 内部类详解
- 详解 java 内部类
- 内部类详解
- 内部类详解
- java内部类详解
- java内部类详解
- 内部类详解
- java 内部类详解
- 【java】内部类详解
- 内部类详解
- 内部类详解
- java内部类详解
- 内部类详解
- OSG 学习第一天:场景的组织及渲染
- 正则表达式练习题集(附答案)
- c语言中,变量声明的意义(尹老师视频观后感)
- wamp或phpStudy集成环境配置本地域名
- 多校3 hdu6060 RXD and dividing
- 详解内部类
- keepalived+nginx+脚本监测服务
- 详细讲解单例模式是什么?为什么要用?怎么用?
- HDU 6034 Power!
- vivado使用自带IP核和创建自己定义的IP核
- Try Ubuntu Landscape on Xenial (by quqi99)
- Java多线程复习与巩固(五)-生产者消费者问题(第一部分)
- sublime text3 自定义配色方案
- C#笔记【2】