今天有个朋友对这个Anonymity内部类不了解,整个执行过程究竟是什么样的
我在下面通过两个程序的对比来解析他们
1、先创建一个接口IPerson
package com.mars.Anonymity;
public interface IPerson {
public void say(String str);
}
2、接下来我们创建一个TomPersonImpl 的类
package com.mars.Anonymity;
public class TomPersonImpl implements IPerson {
public void say(String str) {
System.out.println("tom say:"+str);
}
}
3、我们来创建一个这样的测试类
package com.mars.Anonymity;
public class Test {
public void whoSay(){
tom(new TomPersonImpl());
}
public void tom(IPerson person){
person.say("I am Tom!!");
}
public static void main(String[] args) {
new Test().whoSay();
}
}
输出结果是:tom say:I am Tom!!
这样可以理解吧,通过父类的引用指向子类的对象,当我们执行whowSay()这个方法的时候,他就会执行他内部的相应的内容,这样tom(new TomPersonImpl())就被执行了,跳到了public void tom(IPerson person){}这一步了之后就不用我多说了吧!!我还没设计到Anonymity inside class的问题,在这里为下面打个基础。。。
好了我们继续:
我们对前面进行了替换
1、我们新建立一个abstract类AWhoSay:
package com.mars.Anonymity;
public abstract class AWhoSay {
public abstract void execute(IPerson person);
}
2、接下来我们对Test class进行了更换:
package com.mars.Anonymity;
public class Test extends AWhoSay{
public void whoSay(){
execute(new IPerson(){
public void say(String str) {
System.out.println("tom say:"+str);
}
});
}
@Override
public void execute(IPerson person) {
person.say("I am Tom ");
}
public static void main(String[] args) {
new Test().whoSay();
}
}
输出的结果是:tom say:I am Tom
还是一样的结果,有的人就在这里没理解清楚了!!其实是很简单的,就跟前面的一样,我们从程序的执行顺序来看,
1、当main方法中执行new Test().whoSay()的时候就跳到了public void whoSay()这个方法中来了
2、在whoSay方法中,肯定回执行execute()这个方法的,关键就在这里,首先表明的是接口不能被实例化,匿名类本身就是通过继承类或者接口来实现的。但是不能再显式的extends 或者implements了。 他创建了一个Anonymity的内部类传给public void execute(IPerson person) 只是一个引用(形参),到这一步相信大家都明白了,为什么还是同样的结果!!!
分享到:
相关推荐
**k-匿名性(K-Anonymity)**是数据隐私保护领域的一个重要概念,它旨在通过数据集的处理,使得单个个体无法被唯一识别,从而保护个人隐私。在大数据和信息共享的时代,k-匿名性是确保敏感信息不被滥用的关键技术之...
Anonymity Gateway v2.5 注册版,作为一款专业的网络安全软件,它为用户提供了一种有效的方式来隐藏IP地址,消除上网痕迹,从而更好地保护个人隐私。 首先,我们要理解Anonymity Gateway的核心功能——隐藏IP地址。...
Machanavajjhala A,Gehrke J,Kifer D. L-diversity:Privacy beyond k-anonymity[A].Piscataway,NJ:IEEE 2006.专业期刊文献,介绍k匿名,l多样性必读文献之一,仅供学习专用,请勿商用。
其中,K-Anonymity模型是一种被广泛研究和应用的数据匿名化技术,由Sweeney教授在2002年首次提出。本文将深入探讨K-Anonymity的概念、原理,并介绍如何使用Python实现这一模型。 K-Anonymity模型旨在通过数据处理,...
Anonymity 4 Proxy是一款特殊的本地代理服务器,用来管理匿名代理服务器的数据库,对于希望匿名浏览的用户来说很合适。
Crowds Anonymity for web transactions。 Crowds匿名通信方案: 提供发送方匿名的匿名网络浏览方案。 采用基于固定转发策略和随机成员选择策略建立起通信重路由路径。
针对传统的k-匿名模型不能有效地解决数据发布中分类敏感属性的相似性攻击问题,提出了新的隐私保护模型——α-similarity k-anonymity模型。由于分类属性值并不是严格意义上有序的,目前缺少一种很好的方法来评价其...
泛化技术: K-Anonymity(K-匿名化) 年龄使用泛化 取范围 身份证可以使用*屏蔽 角色管理员(内部人员) admin 123456 模块介绍 普通用户 首页公布 (外网访问,经过K-匿名化泛化技术处理数据再向外公布信息 k=5...
(c, k) m-anonymity: a model to resist sub-trajectory linkage attacks
我们的目标是为匿名通信开发,实施,评估并提供安全且可扩展的技术基础架构。 该项目由Deutsche Forschungsgemeinschaft(DFG)支持。
讲述匿名网络的安全和信任问题,需要有比较好的概率论的知识才能理解作者的意图。
项目名称:内部大数据k匿名处理数据平台 框架:flask+ html + css + jquery + python + k-anonymity算法 +mysql MySQL数据量重置id truncate table tablename python 3.10 k-anonymity算法资料 泛化技术: K-...
这类系统通常结合了加密通信、数字签名、身份认证等多种安全机制,以防止数据泄露、篡改或未经授权的访问。 ### 安全机制与成本降低 文章提到,为了降低成本并共享医疗资源,该研究提出了基于智能卡的移动医疗交易...
DKA(Disable Koreapas Anonymity)-crx插件应运而生,为韩语用户提供了便捷的解决方案,让用户在使用网页时可以轻松管理自己的匿名状态。 DKA(Disable Koreapas Anonymity)-crx插件是一款专为韩国语环境设计的...
K-匿名可以在数据发布前对数据进行处理,...若一个数据表满足K-匿名,且每个等价类中的敏感属性至少有L个值,则称其满足L-多样性原则。L-多样性避免了一个等价类中敏感属性取值单一的情况,使得隐私泄露风险不超过1/L。
"Anonymity in Sequence Data"是一个专注于序列数据匿名化的主题,它涉及到如何在保持数据价值的同时,有效地保护用户的隐私。BF-2PkA算法就是这个主题中的一个关键工具,它是一个开源软件解决方案。 BF-2PkA算法的...
1. k-匿名化(K-Anonymity) k-匿名化是一种数据脱敏技术,它通过将敏感数据分组,使每组数据都包含 k 个记录,从而保护个人隐私信息。k-匿名化的优点是可以保护个人隐私信息,但也可能会导致数据utility 降低。 ...
With the rapid pervasion of location-based services (LBSs), protection of location privacy has become a significant concern. In most continuous LBSs’ privacy-preserving solutions, users need to ...
为了应对这一挑战,科学家们提出了多种隐私保护算法,其中K匿名(K-Anonymity)是最早也是最广为人知的一种。本篇文章将深入探讨K匿名隐私保护算法,并介绍其Python实现。 K匿名算法的核心概念在于确保任何敏感信息...