c++ java的内部嵌套类

本文对比分析了Java和C++内部类的特性,重点阐述了非静态内部类与静态内部类的差异,以及匿名内部类的应用场景。同时,通过实例展示了C++内部类如何受限于访问权限,并探讨了它们在实际开发中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android的native framework用了很多c++的嵌套类,而java的framework更是用了很多的内部嵌套类,看了一些书和代码 做个总结

1. java的非静态内部类有个外部类的引用outer,使用这个变量可以引用外部的所有变量,包括private

2..静态的java内部类也叫做嵌套类,静态的内部类就没有外部的引用了,但是也只能调用外部的静态方法和变量

3. 匿名内部类经常被用作写一个listener,这个经常被用到

new listener(){

    xx(){

   }

};

4. c++的内部类几乎等同于语法上的嵌套,而C++的内部类不能访问外部类的private变量,想访问的话必须在内部类中声明外部类为friend class

 

从目前我的理解,c++的嵌套类几乎等同于一个新的class,可能有一些小的差异;

而java的内部类不仅仅是语法的嵌套,非静态内部类与外部有语义上的联系,需要先建立外部的引用。

从这些来看,两者的差别还是蛮大的 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值