java内部类
来源:互联网 发布:创意手机壳 知乎 编辑:程序博客网 时间:2024/06/02 05:19
内部类的分类:
- 非静态内部类
- 静态成员内部类
- 局部内部类
- 匿名内部类
成员内部类
- 定义:在一个外部类中有成员变量和成员方法,那么成员内部类就是整个一个类当成外部类的成员对待
- 访问方式:内部类访问外部类,内部类可以直接访问外部类,包括私有成员变量,因为内部类拥有外部类的引用是类名.this
- 外部类访问内部类,外部类访问外部类的成员,必须要建立内部类的对象,
- 格式:外部类名.内部类名 = 外部类对象.内部类对象()
存放位置:在外部类里,在外部类的成员方法外
public class Outer { class Inter { public void speak() { System.out.println("我是内部类"); } }}Outer.Inter inter = new Outer().new Inter();inter.speak();
静态内部类
- 定义:就是在成员内部类的基础上加上static
- 格式: 外部类名.内部类名 = 外部类.内部类对象()
public class Outer { static class Inter { public void speak() { System.out.println("我是静态内部类"); } }}Outer.Inter inter = new Outer.Inter();inter.speak();
局部内部类
- 定义:在外部类成员方法中定义的内部类,他更像局部变量
- 注意:
- 方法内部类只能在定义该内部类的方法中使用,不可以在此方法外对其实例化
- 与局部变量一样,方法的内部类修饰符只有final 和abstract
- 静态方法内的方法内部类,静态方法是没有this引用的,因此在静态方法内的内部类遭遇同样的待遇,即:只能访问外部类的静态成员
public void Outer() { class Inter { public void speak() { System.out.println("我是局部内部类"); } } Inter inter = new Inter(); inter.speak();}
匿名内部类
- 没有名字的内部类,他是内部类的简化写法
- 主要为了实现接口或者继承外部类
public interface Speak { public void speak();}public class Outer { public void speak() { new Speak() { public void speak() { System.out.println("我是匿名内部类"); } }.speak(); }}new Outer().speak();
0 0
- 【Java】【内部类】Java 内部类简介
- [Java] Java 内部类
- Java 内部类(成员内部类、局部内部类、静态内部类和匿名内部类)
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、局部内部类、静态内部类、匿名内部类)
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- java的内部类、匿名内部类、局部内部类
- java内部类之成员内部类、静态内部类
- java 成员内部类 局部内部类,匿名内部类
- Java 静态内部类/内部类
- java内部类、静态内部类 小结
- Java内部类,静态内部类
- JAVA 内部类与静态内部类
- java内部类--局部内部类
- Java 内部类以及匿名内部类
- 提高生活质量,以自我为中心
- 【codechef】Common Strings(后缀数组)
- iOS异常处理
- 提取视频每一帧
- sharepoint 2013 使用powershell更改网站集配额和锁定
- java内部类
- class org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as
- iOS开发之多线程--多线程简单介绍
- C++ Primer 学习笔记_99_特殊工具与技术 --优化内存分配[续1]
- poj 2127 dp(最长公共递增子序列)
- HDU 5090 Game with Pearls
- 对具有负值边的图进行最短路搜索
- C++ Primer 学习笔记_98_特殊工具与技术 --优化内存分配
- Android 使用DrawerLayout实现抽屉效果的导航菜单