java 中的内部类和匿名内部类

保姆级教程:用Python+Mediapipe实时捕捉手势,驱动Unity虚拟手模型(附完整源码) 本文详细介绍了如何利用Python的Mediapipe库和Unity实现实时手势识别与虚拟手模型驱动。通过OpenCV进行图像采集,Mediapipe提供21个手部关键点识别,结合UDP通信协议实现Python与Unity之间的低延迟数据传输。教程包含完整源码、环境配置、核心代码实现及性能优化技巧,适用于VR教育、游戏开发等需要自然交互的场景。 阅读详情

 1、内部类分为成员内部类、静态嵌套类、方法内部类、匿名内部类。

几种内部类的共性:

A、内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号。

B、内部类不能用普通的方式访问。内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否是private的。

2、成员内部类:形式如下

 class Outer

 {

          class Inner{}

}

编译上述代码会产生两个文件:Outer.class和Outer$Inner.class。

3、方法内部类。
顾名思义,把类放在方法内。
    class Outer {
        public void doSomething(){
            class Inner{
                public void seeOuter(){
                }
            }    
        }
    }
A、方法内部类只能在定义该内部类的方法内实例化,不可以在此方法外对其实例化。
B、方法内部类对象不能使用该内部类所在方法的非final局部变量。
因为方法的局部变量位于栈上,只存在于该方法的生命期内。当一个方法结束,其栈结构被删除,局部变量成为历史。但是该方法结束之后,在方法内创建的内部类对象可能仍然存在于堆中!例如,如果对它的引用被传递到其他某些代码,并存储在一个成员变量内。正因为不能保证局部变量的存活期和方法内部类对象的一样长,所以内部类对象不能使用它们。
下面是完整的例子:
    class Outer {
        public void doSomething(){
            final int a =10;
            class Inner{
                public void seeOuter(){
                    System.out.println(a);
                }
            }   
            Inner in = new Inner();
            in.seeOuter(); 
        }
        public static void main(String[] args) {
            Outer out = new Outer();
            out.doSomething();
        }
     }
4、匿名内部类。
顾名思义,没有名字的内部类。表面上看起来它们似乎有名字,实际那不是它们的名字。
A、继承式的匿名内部类。
    class Car {
        public void drive(){
            System.out.println("Driving a car!");
        }
    }
    
    class Test{
        public static void main(String[] args) {
            Car car = new Car(){
                public void drive(){
                    System.out.println("Driving another car!");
                }
            };
            car.drive();
        }
    }
结果输出了:Driving another car! Car引用变量不是引用Car对象,而是Car匿名子类的对象。
B、接口式的匿名内部类。
    interface  Vehicle {
        public void drive();
    }
    
    class Test{
        public static void main(String[] args) {
            Vehicle v = new Vehicle(){
                public void drive(){
                    System.out.println("Driving a car!");
                }
            };
            v.drive();
        }
    }
上面的代码很怪,好像是在实例化一个接口。事实并非如此,接口式的匿名内部类是实现了一个接口的匿名类。而且只能实现一个接口。
C、参数式的匿名内部类。
class Bar{
    void doStuff(Foo f){}
}
 
interface Foo{
    void foo();
}
 
class Test{
    static void go(){
        Bar b = new Bar();
        b.doStuff(new Foo(){
            public void foo(){
                System.out.println("foofy");
            }
        });
    }
}
5、静态嵌套类。

从技术上讲,静态嵌套类不属于内部类。因为内部类与外部类共享一种特殊关系,更确切地说是对实例的共享关系。而静态嵌套类则没有上述关系。它只是位置在另一个类的内部,因此也被称为顶级嵌套类

GPU硬件架构与微架构深度解析34-GPU安全架构深度解析 现代GPU不仅是图形处理器,更是高性能计算平台,安全架构设计至关重要。内存加密- 保护数据在传输和存储时的安全安全启动- 确保固件和软件的完整性隔离机制- 防止不同应用间的数据泄露密钥管理- 安全存储和处理加密密钥。 阅读详情

相关推荐

SCL3400硬件避坑指南:引脚兼容性测试+模式切换异常处理

本文针对村田SCL3400双轴倾角计在实际硬件设计中的常见问题,提供了详细的避坑指南。重点解析了从SCL3300迁移时的引脚兼容性真相,包括SPI时序、电源去耦等关键差异,并深入探讨了模式切换中超量程错误的复现原因与软件容错方案。同时,指导了如何根据应用场景配置低通滤波器,并给出了无自动唤醒功能下的可靠电源与长线SPI通信管理策略。

weixin_29190573的博客 292

内部类

[size=large]可以将一个类的定义放在另一个类的定义内部,这就是内部类 创建内部类对象,必须在外部类中写个方法:OuterClassName.InnerClassName = getInner(); 或者 外部对象.new 内部类 [/size] 在拥有外部类对象这前是不可能创建内部类对象。除非是嵌套类(静态内部类)。 [code="java"] public class Out...

fytcm的专栏 138

【校园网代理连接问题】已解决,“该设备或资源(Web 代理)未设置为接受端口“7890”上的连接“

我遇到这个问题很多次。每次都是vpn的问题,不止通俗意义上的梯子(clash之类的),还包括校园网vpn。点击“ 拨号和虚拟专用网络设置”中的“设置”, 关闭代理服务器。在打开vpn后或者关闭vpn后无法浏览网页,网页诊断显示“关闭“手动设置代理”中的“使用代理服务器”,关闭对应的本地代理即可。

聆雨。 1万+

匿名内部类编译时会不会生成class文件

你听说过增量上线吗?我新入公司第一次听说增量上线,所谓增量上线就是把你更改的java文件在本地编译成为.class文件,然后直接将.class文件扔到服务器上面去。这就是问题所在了,我在一个java类里面引用了一个内部类,然后增量上线的时候我只是把这个java类编译的.class文件扔到了服务器上,然后就gg了。报错缺少$..类文件。找了半天才意识到时内部类也生成了一个.class文件,但是我并没...

u012045045的博客 6755

Landsat9 地表温度反演方法

landsat9地表温度反演及缺失值处理方法

xiangliu12345的博客 3918

Hierarchical Flow Partition(Top-down&&Bottom-up)

hierarchy flow是将设计切分成多个block,分别处理单个block,然后完成后,将它们进行拼接以完成最终的chip。一般划分为三个阶段:chip planning;physical budget就是pin assignmenthierarchy flow实现的方法有两种,一种是top-down,另一种是bottom-up,无论是哪种,都是都要通过flatten的方法分别全局范围进行优化实现。

qq_39493558的博客 3072

包含内部类的.java文件编译后生成几个.class文件

如果一个类有内部类,编译将生成几个字节码文件,规则是怎样呢? 写在前,自己动手丰衣足食,结论只有个人实验支持,没有官方数据支持,欢迎自行查阅文档然后来指正,轻喷,谢谢。 1.普通类包含内部类的样例 public class Test319 { private static class StaticInner{ }//静态内部类 private class Inner{}//成员内...

qq_40028198的博客 5875

23种设计模式-中介者(Mediator)设计模式

软考中级-软件设计师 中介者设计模式

片言可决讼,半纸能缚龙 1864

一个jsp文件中包含内部类时编译后会生成多个class文件

一个jsp文件中包含内部类时编译后会生成多个class文件

sprita1的专栏 1279

Unreal Engine Profiler:动画系统性能分析教程_2024-07-23_03-05-38.Tex

Unreal Engine Profiler 是一个内置的性能分析工具,它可以帮助开发者识别和解决游戏中的性能瓶颈。Profiler 提供了详细的性能数据,包括 CPU 使用率、GPU 负载、内存使用情况等,特别针对动画系统,可以查看动画蓝图的执行时间、骨骼动画的计算成本、以及动画混合和重定向的效率。通过这些数据,开发者可以定位到具体的问题,比如哪些动画状态消耗了过多的 CPU 时间,或者哪些动画资源导致了内存泄漏。

825

YOLOv8/v9轻量化优化:剪枝30%+蒸馏提精,模型体积缩至4MB还能跑Jetson

剪枝:用敏感度分析找到“可牺牲的30%”,不碰核心特征;蒸馏:借大模型的“经验”补回精度,甚至反超原始小模型;量化:针对边缘设备特性优化量化策略,把体积和延迟压到最低。如果你的项目卡在边缘部署(速度慢/体积大),按“剪枝→蒸馏→量化”三步走,90%能在Jetson上跑通30FPS+的实时检测。需要轻量化模型文件(v8s/v9s剪枝蒸馏后权重)、剪枝工具和Jetson部署脚本的,评论区扣“轻量化”,直接发你可运行版本~

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 669

Java中的内部类和匿名内部类

Java中的内部类提供了一种灵活且强大的方式来组织代码和隐藏实现细节。通过内部类,我们可以实现更好的封装和代码重用。匿名内部类则是内部类的一种特殊形式,常用于实现接口或继承类,并在创建时直接实例化。匿名内部类是Java中一种强大且灵活的工具,它允许我们在不定义新类的情况下实现接口或继承类。它们特别适用于一次性操作、事件监听、线程创建等场景。然而,在使用匿名内部类时,我们也需要注意其限制和注意事项,以确保代码的正确性和可读性。

编程小弟的博客 1315

AI上推荐 之 NeuralCF与PNN模型(改变特征交叉方式)

1. 前言 随着信息技术和互联网的发展, 我们已经步入了一个信息过载的时代,这个时代,无论是信息消费者还是信息生产者都遇到了很大的挑战: 信息消费者:如何从大量的信息中找到自己感兴趣的信息? 信息生产者:如何让自己生产的信息脱颖而出, 受到广大用户的关注? 为了解决这个矛盾, 推荐系统应时而生, 并飞速前进,在用户和信息之间架起了一道桥梁,一方面帮助用户发现对自己有价值的信息, 一方面让信息能够展现在对它感兴趣的用户前面。 推荐系统近几年有了深度学习的助推发展之势迅猛, 从前深度学习的传统推荐模型(协

Miracle8070 1万+

Java中的匿名内部类的格式和实现

Java中的匿名内部类的格式和实现 定义格式: 接口名称 对象名 = new 接口名称(){ //覆盖重写所有抽象方法 }; new 接口名称(){ ////覆盖重写所有抽象方法 }.实现的成员方法 public interface Anonymous { public abstract void anoAbs1(); public abstract void ...

m0_43410048的博客 952

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

java中的内部类和匿名内部类

内部类和匿名内部类的用法

qq_39140680的博客 486

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Java中的内部类和匿名内部类详解

1 内部类概述 在描述事物时,如果一个事物内部还包含其他事物,就可以使用内部类这种结构。比如,汽车类Car中包含发动机类Engine,这时,Engine就可以使用内部类来描述,定义在成员位置。 1.1 定义 内部类:类B定义在类A里面,类A称为外部类,类B称为内部类。 格式: class 外部类 { class 内部类 { } } 示例: class Car { // 外部类 class Engine {// 内部类 } }

sc179的博客 1972

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

一篇文章搞懂Java中的内部类,什么是内部类,内部类的概念和分类,静态内部类,局部内部类,匿名内部类,以及内部类代码图文演示,Java面试内部类

内部类、java、java se

zhangfuping123456789的博客 7673

java内部类中的匿名内部类和lambda表达式

匿名内部类; 作用 : 简化实现类|子类,没有自己类本身作用的实现类|子类 匿名内部类对象 : 实现类|子类+创建对象 new Smoke(){ //实现类类体|抽象类的子类类体 @Override public void smoking() { System.out.println("边吸烟边吐烟圈..."); } } lambda表达式: 作用 : 简化匿名内部类对象 前提...

m0_67474817的博客 504

JAVA中的匿名类、内部类和匿名内部类

在看《java核心技术卷I》的时候再TreeSet的章节,看到了使用匿名内部类的实例,好奇后查了下相关信息,有两个博客写的很好,以后还需细看 java匿名内部类 优快云java匿名内部类 先说下TreeSet的Test, TreeSet和Hashset的区别主要是前者是一个有序集合,使用的排序方法时红黑树的方法(类似于平衡二叉树AVL,详见算法导论)。在TreeSet中加入jav

3597

java中内部类和匿名内部类_@Java中的内部类与匿名内部类总结

内部类内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液、跳动)显然,此处不能单方面用属性或者方法表示一个心脏,而需要一个类而心脏又在人体当中,正如同是内部类在外部内当中实例1:内部类的基本结构//外部类classOut {private int age = 12;/...

weixin_39970166的博客 175

java语言中的内部类和匿名内部类

java语言中的内部类和匿名内部类

人间诗画的专栏 783

java中的接口和匿名内部类

文章目录一、接口二、匿名内部类(了解即可)总结 一、接口 1、最好把接口当做类 二、匿名内部类(了解即可) 总结 面向接口编程,可以解耦合,提高程序拓展力,符合OCP开发原则。 匿名内部类能不用即不用,一般是为看懂大佬的代码了解掌握。 ...

lovelry的博客 222

java中的内部类和匿名内部类的使用

部分内容参考http://www.imooc.com/ 内部类:什么是 Java 中的内部类 问:什么是内部类呢? 答:内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。 问:那为什么要将一个类定义在另一个类里面呢?清清爽爽的独立的一个类多好啊!! 答:内部类的主要作用如下: 1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内

LinuxZhouYing的专栏 1634

关于Java中的内部类和匿名内部类

今天说一下java 中的内部类及匿名内部类的用法:   什么是内部类?           内部类: 在一个类内部定义的类,叫做这个类的内部类,它有以下特点:           内部类可以认我人半逻辑上相关的一组类组织起来,并由外部类来按制内部类的可见性,           当我们建立了一个内部类后,内部类的对象通过this维护了其对外部类的一关联关系,使            ...

Saga 175

Kotlin和Java在匿名内部类和接口的使用中的区别及对比

在 Kotlin 中,当局部变量被匿名内部类或 lambda 捕获并修改时(如代码中的 count),编译器会将其包装为堆内存中的可变对象,此时不会再对原局部变量保存副本,而是通过共享这个包装对象实现变量的统一访问。Kotlin 的接口中可以直接实现方法,这是 Kotlin 接口与 Java 早期版本接口的重要区别(Java的接口中是不能实现方法的,Java 8+ 才通过 default 关键字支持类似功能)。Kotlin 接口中方法的两种形式。

123 307

java中的匿名内部类详细介绍和代码演示

java中的匿名内部类详细介绍和代码演示

java架构师分享,有问题可以联系我 100
上一篇: firefox书签与IE收藏夹的互相导入乱码解决方法
下一篇: 使用 Crash 工具分析 Linux dump 文件
ocean181
博客等级 码龄19年 93粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值