new interface() 用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了new interface() 用法相关的知识,希望对你有一定的参考价值。
下面代码自动 new 了Comparator() 接口一个对象,省略了声明class,这种方法应用了什么特性,有什么名字吗
Set executionDescriptors = new TreeSet(new Comparator()
public int compare(Object o1, Object o2)
try
ExecutionDescriptorType ed1 = (ExecutionDescriptorType) o1;
ExecutionDescriptorType ed2 = (ExecutionDescriptorType) o2;
return ed1.getTargetDirectory().compareTo(ed2.getTargetDirectory());
catch (Exception e)
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
log.logp(Level.SEVERE, this.getClass().getName(), "runTdf", "That is sure surprising - Exception thrown in Comparator: " + sw.toString());
return -1;
);
你给的这个例子,是应用在语句中的匿名内部类,JAVA语法对这种用法的格式要求是:
new 接口或抽象父类名()//匿名内部类的定义部分
更详细的内容建议你搜索“JAVA 内部类”。 参考技术A 方法如下:
1.接口一般定义的是常量和一些抽象方法。
2.接口的引用指向实现的对象,尽量定义为接口或父类的引用;
3.接口只能定义抽象方法而且默认为是Public,常量用public static
final 修饰;
4.通过implements来引用接口;
5.多个无关类可以实现一个接口,但接口的引用必须指向实现的对象;
6.一个类可以实现多个无关的接口(这点和继承要有所区别);
7.和继承一样,接口与实现类之间存在多态性;
8.接口可以继承其他的接口,并添加新的属性和抽象方法;
9.在类中实现接口的方法时必须加上public修饰符。 参考技术B 检测硬盘 参考技术C @gp_cat 说的对
以上是关于new interface() 用法的主要内容,如果未能解决你的问题,请参考以下文章
Go 接口实现原理高阶篇: type _interface struct
华为-vlan间路由之SVI(switch virtual interface)
为啥在 Weka 中使用 libsvm 时会出现“NoClassDefFoundError:libsvm/svm_print_interface”错误?