希望写一个类的抽象,使得实现它的类都包含返回自己的方法

问题描述

譬如有这么一个类interface ITreeNode{ public ITreeNode getParent(){return parent;} public List<ITreeNode> getSons() {return sons;}}现在的问题是:如果有个类RealTreeNode从它继承,结果一定是这样:class RealTreeNode implements ITreeNode{ List<RealTreeNode> sons; RealTreeNode parent; public ITreeNode getParent(){return parent;} public List<ITreeNode> getSons() {return sons;}}我希望能是这样:class RealTreeNode implement ITreeNode{ List<RealTreeNode> sons; RealTreeNode parent; public RealTreeNode getParent(){return parent;} public List<RealTreeNode> getSons() {return sons;}}换句话说,我希望写这样的类的抽象,即包含两个方法getParent和getSons,它们返回该类自身和List<该类自身>。应该如何写?

解决方案

你试试这个,不知道行不public abstract class ITreeNode<T extends ITreeNode> {List<ITreeNode> sons;ITreeNode parent;ITreeNode(List<ITreeNode> sons, ITreeNode parent) {this.sons = sons;this.parent = parent;}public abstract T getParent();public abstract List<T> getSons();}
解决方案二:
你连继承和接口都没分清楚

时间: 2024-08-03 17:25:19

希望写一个类的抽象,使得实现它的类都包含返回自己的方法的相关文章

《数据结构与抽象:Java语言描述(原书第4版)》一P.3.1 写一个接口

P.3.1 写一个接口 Java接口的开头很像类的定义,不过要用保留字interface替代class.即接口的开头是如下的语句 而不是这样的 接口可以含有任意多个公有方法头,每个方法头的后面是一个分号.接口不声明类的构造方法,也不能声明静态或终态方法.注意,接口中的方法默认是公有的,故在方法头中可以省略puclic.接口还可以定义任意个公有命名常量. 示例.想象如圆.正方形或一块地这样的对象,它们既有周长又有面积.假定我们想让这种对象的类有一个返回数量值的get方法.如果实现这些类的程序员不是

框架-自己写一个 小型字符串类

问题描述 自己写一个 小型字符串类 C++标准库提供了一个功能强大的String类来实现字符串的操作,本系统创建一个功能类似"String类"的小型字符串类,以实现类似的字符处理功能. 希望大神能给个思路,基本框架. 解决方案 参考:http://wenku.baidu.com/link?url=7xK4vuZ4bKFHpVHQryrkeFQQQLg6TjxUDopT-g-IuRTuqmZTKaZO5vkDWPd9SUm7-LRsL-SliVNuGgPuaUmLyub7kLIwKzb3

对象-java自己写一个按钮类问题

问题描述 java自己写一个按钮类问题 在一个java程序中,按钮有设置边框,透明,加图片,设置字体,设置背景颜色等行为,有多个按钮,如何写个按钮方法把这些行为写进去,调用的时候只要创建一个按钮对象就能将这么多行为包含进去 解决方案 直接用Java的awt库函数啊,用不着自己写,只要了解Java的按钮JButton,绑定事件处理函数. 解决方案二: 我觉得界面复制就好 不需要那么麻烦吧 解决方案三: 你可以写一个类继承java自己的JButton按钮,然后你把你想要的效果设为类的属性,你创建一个

希望建立一个循环,i值从start递变到end,不知道该怎么写

问题描述 希望建立一个循环,i值从start递变到end,不知道该怎么写 假如end>start,那么可以 for(int i=start,i<=end,i++){} 假如end for(int i=start,i>=start;i--){} 有没有写法可以统一一下,不要分开来写 解决方案 1.循环前先判断, int small=end>start:start?end; int max=end>start:end?start; for(int i=small,i<=ma

想用c#写一个软件,可以在软件里新建项目和保存项目,希望有大神能给点建议,非常感谢

问题描述 想用c#写一个软件,可以在软件里新建项目和保存项目,希望有大神能给点建议,非常感谢 想用c#写一个软件,可以在软件里新建项目和保存项目,希望有大神能给点建议,非常感谢! 解决方案 新建项目和保存项目,请问是什么类型的项目,描述清楚一点. 解决方案二: 你是要写个VS?不然你的项目是什么项目?

csdn的高手们,我遇到问题了,是关于C#用正则提取一个网页里的内容。做不出来了,希望好心人给写一个参考下(初学)

问题描述 <palign="center"><tablecellpadding="2"cellspacing="0"align="center"borderColorDark="#ffffff"borderColorLight="#008000"border="1"width="760"><theadonclick=&

界面-B/S,C/S搜索的概念都好抽象,说得很官方,问问各位,希望得到一个通俗点,好理解的回答

问题描述 B/S,C/S搜索的概念都好抽象,说得很官方,问问各位,希望得到一个通俗点,好理解的回答 以前没接触过,C/S是客户端,服务器,是说客服端,服务器都由编程来实现么,,那呈现出来的界面是不是和windowS窗口一样,B/S是说编程实现的以网页的方式呈现么 解决方案 B/S通俗的说法就是浏览器/服务器,B/S架构方便在于只需要搭配服务器环境,客户端只要安装有浏览器就可以访问,一般以网页的形式呈现出来. C/S客户端和服务器,需要有安装包安装,一般是Windows窗体形式呈现出来 解决方案二

vs2008-c++怎么写一个小程序 让他能自动发邮件,用什么接口 或者是类啊

问题描述 c++怎么写一个小程序 让他能自动发邮件,用什么接口 或者是类啊 c++怎么写一个小程序 让他能自动发邮件,用什么接口 或者是类啊 解决方案 http://blog.csdn.net/ybjx111/article/details/7031055 解决方案二: http://download.csdn.net/detail/glc22/4128319http://blog.csdn.net/ybjx111/article/details/7031055http://blog.csdn.

也写一个Ajax.Request类附代码_AJAX相关

目的:因为blog程序里的某些模块需要用到ajax,直接使用prototype.js体积比较大(40多k),而且仅仅用到其中的ajax功能,因此为了减轻下载的负担,又不能改动已经在prototype.js框架下写好的代码,只能是按照prototype的风格,自己写一个ajax类,达到零成本移植框架. 新的ajax类如下: var Ajax = {xmlhttp:function(){ try{ return new ActiveXObject('Msxml2.XMLHTTP'); }catch(