Java连载59-局部内部类、匿名内部类
一、局部内部类
1.局部内部类等同于局部变量
2.局部内部类在访问局部变量的时候,局部变量必须使用final修饰。
3.举个例子:
package com.bjpowernode.java_learning;
public class D59_1_LocalInnerClass {
public static void main(String[] args) {
D59_1_LocalInnerClass d1 = new D59_1_LocalInnerClass();
d1.m1();
}
//方法
public void m1() {
final int i = 10;//如果不加final的话,这个变量就会变了,那我们执行内部类中的
//方法的时候,里面用到i的话,值就不能确定了
//局部内部类
//局部内部类不能访问控制权限修饰符修饰
class InnerClass59 {
//内部类不能有静态
// public static void m1() {}
//成员方法
public void m2() {
System.out.println(i);
}
}
InnerClass59 inner = new InnerClass59();
inner.m2();
}
}

二、匿名内部类
1.匿名内部类:指的是类没有名字
2.举例
package com.bjpowernode.java_learning;
public class D59_2_AnonymousInnerClass {
public static void main(String[] args) {
// test(new CustomerService59)//这种调用方法是不对的,因为接口是不能创建对象的
CustomerServiceImp1 c1 = new CustomerServiceImp1();
test(c1);
//接下来使用匿名内部类来进行创建,这是只需要保留接口就行,下面的接口实现的类可有可无了
test(new CustomerService59() {
public void logout(){
System.out.println("再一次退出了");
}
});
}
//静态方法
public static void test(CustomerService59 cs) {
cs.logout();
}
}
interface CustomerService59{
void logout();
}
class CustomerServiceImp1 implements CustomerService59{
public void logout(){
System.out.println("系统已经退出了");
}
}

3.优点:可以少定义一个类,缺点就是不可以重复使用类,而且形式上不够简洁明了,易错。
三、源码:
D59_1_LocalInnerClass.java
D59_2_AnonymousInnerClass.java
地址:
https://github.com/ruigege66/Java/blob/master/D59_1_LocalInnerClass.java
https://github.com/ruigege66/Java/blob/master/D59_2_AnonymousInnerClass.java
2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

Java连载59-局部内部类、匿名内部类的更多相关文章
- C#的匿名委托 和 Java的匿名局部内部类
.NET:C#的匿名委托 和 Java的匿名局部内部类 目录 背景实验备注 背景返回目录 这几天重温Java,发现Java在嵌套类型这里提供的特性比较多,结合自身对C#中匿名委托的理解,我大胆的做了一 ...
- Java基础进阶:内部类lambda重点摘要,详细讲解成员内部类,局部内部类,匿名内部类,Lambda表达式,Lambda表达式和匿名内部类的区别,附重难点,代码实现源码,课堂笔记,课后扩展及答案
内部类lambda重点摘要 内部类特点: 内部类可以直接访问外部类,包括私有 外部类访问内部类必须创建对象 创建内部对象格式: 外部类.内部类 对象名=new外部类().new内部类(); 静态内部类 ...
- Java连载58-静态内部类、成员内部类详解
一.内部类的分类: (1)静态内部类(2)成员内部类(3)局部内部类(4)匿名内部类 二.静态内部类 1.静态内部类可以等同的看做是静态变量 内部类的重要作用:可以访问外部类中的私有数据 2.静态内部 ...
- .NET:C#的匿名委托 和 Java的匿名局部内部类
背景 这几天重温Java,发现Java在嵌套类型这里提供的特性比较多,结合自身对C#中匿名委托的理解,我大胆的做了一个假设:Java的字节码只支持静态嵌套类,内部类.局部内部类和匿名局部内部类都是编译 ...
- Java中的局部内部类
package Smoke; public class Inner { private int num = 3; class Limian{ public void show(){ //内部类可以访问 ...
- Java学习笔记:内部类/匿名内部类的全面介绍
编写java程序时,一般一个类(或者接口)都是放在一个独立的java文件中,并且类名同文件名(如果类是public的,类名必须与文件名一致:非public得,无强制要求).如果想把多个java类放在一 ...
- JAVA中内部类(匿名内部类)访问的局部变量为什么要用final修饰?
本文主要记录:在JAVA中,(局部)内部类访问某个局部变量,为什么这个局部变量一定需要用final 关键字修饰? 首先,什么是局部变量?这里的局部是:在方法里面定义的变量. 因此,内部类能够访问某局部 ...
- Java的四种内部类
Java的四种内部类包括如下: 成员内部类 静态内部类 局部内部类 匿名内部类 成员内部类: 定义在另一个类(外部类)的内部,而且与成员方法和属性平级叫成员内部类,......相当于外部类的非静态方法 ...
- Java基本概念:内部类
一.简介 描述: 很多时候我们创建类的对象的时候并不需要使用很多次,每次只使用一次,这个时候我们就可以使用内部类了. 内部类不是在一个java源文件中编写两个平行的类,而是在一个类的内部再定义另外一个 ...
- java的四种内部类详解
引言 内部类,嵌套在另一个类的里面,所以也称为:嵌套类; 内部类分为以下四种: 静态内部类 成员内部类 局部内部类 匿名内部类 一.静态内部类 静态内部类: 一般也称"静态嵌套类" ...
随机推荐
- P3954 成绩
题目描述 牛牛最近学习了C++入门课程,这门课程的总成绩计算方法是: 总成绩=作业成绩\times 20\%+×20%+小测成绩×30\%+×30%+期末考试成绩\times 50\%×50% 牛牛想 ...
- 从壹开始 [ Design Pattern ] 之三 ║ 工厂模式 与 小故事
编者按: 定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使得一个类的实例化延迟到子类. 工厂模式,是迄今为止,使用最多,最广泛的设计模式之一,它的身影几乎出现在每一个框架和个人代码之中 ...
- pycharm启动vue项目
一 移动vue项目问题 1 移植到其他windows or mac 2 重新安装依赖 基于情况2(我们把除了第一个文件都复制到一个新的文件夹) 重新依据配置文件去安装各种各样的依赖(也就是根据配置文件 ...
- SpringBoot 使用IDEA 配置热部署
在开发中稍微更改一点内容就要重启,很麻烦.这个时候使用Spring Boot的热部署就能解决你的问题. 上图: 1,在pom.xml文件中添加依赖: <dependency> <gr ...
- 程序员常用markdown语法记忆小结
0.toc被中括号包围,实现自动提取标题生成目录 [TOC] 1.*的用法 * 一星:黑点 *二星:斜体* 三星:分割线 * * * **四星:粗体** 2.#的用法 # 1级标题 ## 2j ...
- css重置样式
<style> html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, ...
- 使用Python为中秋节绘制一块美味的月饼
每逢佳节- 对于在外的游子,每逢佳节倍思亲.而对于996ICU的苦逼程序猿们,最期待的莫过于各种节假日能把自己丢在床上好好休息一下了.这几天各公司都陆续开始发中秋礼品了.朋友圈各种秀高颜值的月饼,所以 ...
- apache mpms和php概述
当设置一个Apache + PHP服务器来运行你的PHP应用程序时,有许多配置参数需要处理. 最重要的是php服务器Api(server api:sapi),它决定了Apache将如何运行PHP脚本. ...
- 2018 ACM-ICPC南京区域赛题解
解题过程 开场开A,A题shl看错题意,被制止.然后开始手推A,此时byf看错E题题意,开始上机.推出A的规律后,shl看了E题,发现题意读错.写完A题,忘记判断N=0的情况,WA+1.过了A后,sh ...
- P4072 [SDOI2016](BZOJ4518) 征途 [斜率优化DP]
题目描述 Pine开始了从S地到T地的征途. 从S地到T地的路可以划分成n段,相邻两段路的分界点设有休息站. Pine计划用m天到达T地.除第m天外,每一天晚上Pine都必须在休息站过夜.所以,一段路 ...