为什么 接口在类中没有实现方法就可以直接用

问题描述

publicclassTree<TItem>whereTItem:IComparable<TItem>{publicTItemNodeData{get;set;}publicTree<TItem>LeftTree{get;set;}publicTree<TItem>RightTree{get;set;}publicTree(TItemnodeValue){this.NodeData=nodeValue;this.LeftTree=null;this.RightTree=null;}publicvoidInsert(TItemnewItem){TItemcurrentNodeValue=this.NodeData;if(currentNodeValue.CompareTo(newItem)>0)IComparable接口都没有在这个类里实现CompareTo方法就可以直接用了?

解决方案

解决方案二:
这个CompareTo是TItem的方法,和这个类没关系
解决方案三:
泛型TItem实现了IComparable接口
解决方案四:
按你这样理解this.NodeData;就不应该有啊……都没声明结束呢,怎么就可以有了呢
解决方案五:
这不是为Tree<TItem>声明接口,你看错啦。

时间: 2024-09-13 02:29:26

为什么 接口在类中没有实现方法就可以直接用的相关文章

java static-假设有一个类,我只对这个类的引用做一个声明,那么这个类中的static方法会被初始化吗

问题描述 假设有一个类,我只对这个类的引用做一个声明,那么这个类中的static方法会被初始化吗 假设下面这种情况,test1中的do方法会被初始化吗? public class test{ public static void main(string []args){ test1 t: } } class test1{ int i: static void do(){} } 解决方案 第一次访问的含义是,访问了这个静态类中的任何方法.属性.字段,那么所有的属性都会被初始化. 解决方案二: 方法

PHP通过反射方法调用执行类中的私有方法

PHP 5 具有完整的反射 API,添加了对类.接口.函数.方法和扩展进行反向工程的能力. 下面我们演示一下如何通过反射,来调用执行一个类中的私有方法: <?php   //MyClass这个类中包含了一个名为myFun的私有方法 class MyClass {         private $tmp = 'hello';         private function myFun()     {         echo $this->tmp . ' ' . 'world!';    

在派生类中对虚方法进行重载

先让我们回顾一下普通的方法重载.普通的方法重载指的是:类中两个以上的方法(包括隐藏的继承而来的方法),取的名字相同,只要使用的参数类型或者参数个数不同,编译器便知道在何种情况下应该调用哪个方法. 而对基类虚方法的重载是函数重载的另一种特殊形式.在派生类中重新定义此虚函数时,要求的是方法名称.返回值类型.参数表中的参数个数.类型.顺序都必须与基类中的虚函数完全一致.在派生类中声明对虚方法的重载,要求在声明中加上override关键字,而且不能有new,static或virtual修饰符. 还是让我

java-Java中在同一个类中把一个方法中的数组元素传到另一个方法中,怎么传啊?麻烦大家说一下,谢谢了!

问题描述 Java中在同一个类中把一个方法中的数组元素传到另一个方法中,怎么传啊?麻烦大家说一下,谢谢了! Java中在同一个类中把一个方法中的数组元素传到另一个方法中,怎么传啊?麻烦大家说一下,谢谢了! 麻烦大家了 解决方案 直接作为参数传就是了 void f1() { int[] x = {1,2,3,4,5}; f2(x[1]); } void f2(int n) { } 解决方案二: Spring AOP代理机制以及方法调用在同一个类的另一个方法的问题 解决方案三: 可以使用全局变量的方

替换NSString类中的stringWithFormat:方法

替换NSString类中的stringWithFormat:方法 先给出源码: YXUseful.h // // YXUseful.h // NSString // // Copyright (c) 2014年 Y.X. All rights reserved. // #import <Foundation/Foundation.h> NSString * String(NSString *format, ...); YXUseful.m // // YXUseful.m // NSStrin

调用方法-怎么用一个对象调用另一个类中对象的方法

问题描述 怎么用一个对象调用另一个类中对象的方法 怎么用一个对象调用另一个类中对象的方法 比如一个类A ,一个类B,B里面有个方法show(),在main中A a=new A();B b=new B();在A中没有调用B方法的情况下,我想通过a调用B中的show()方法,该怎么实现.初学者,求大神给我指导下,不知道我表达的是否准确 解决方案 首先,确认下你是想在A类的某个方法中调用B类的方法吗?如果是的话,A必须依赖B,依赖方法可以是A类关联一个B类的成员变量,示例代码: public clas

javaweb-测试类中能调用方法,action中却不可以

问题描述 测试类中能调用方法,action中却不可以 用findByproperty做查询,在测试类中能调用该方法,但是在action中却不能调用 但是findById是可以用的,完全不知道是什么问题 解决方案 看下报什么错误呢?是不是方法没找到

jsp-怎么样把action中同一个类中不同的方法数据,有区分的显示在JSP页面中

问题描述 怎么样把action中同一个类中不同的方法数据,有区分的显示在JSP页面中 action中代码: Article articleNext=articleService.getNext(article); Article articlePrev=articleService.getPrev(article); getActionContext().put("nextArticle", articleNext); getActionContext().put("prev

《Python面向对象编程指南》——1.3 在基类中实现init()方法

1.3 在基类中实现init()方法 通过实现__init()__方法来初始化一个对象.每当创建一个对象,Python会先创建一个空对象,然后调用该对象的__init()__函数.这个方法提供了对象内部变量以及其他一些一次性过程的初始化操作. 以下是关于一个Card类层次结构定义的一些例子.这里定义了一个基类和3个子类来描述Card类的基本信息.有两个变量是参数直接赋值的,另外两个参数是通过初始化方法计算来完成初始化的. class Card: def __init__( self, rank,