永发信息网

java多态的问题.

答案:1  悬赏:80  手机版
解决时间 2021-04-25 08:54

代码如下

父类
package com.t70.editity;

public class Tip {
public Tip(){}

public Tip(String title,String content,String publishTime){
this.title=title;
this.content=content;
this.publishTime=publishTime;
}
//帖子标题
private String title;
//帖子内容
private String content;
//帖子发表时间
private String publishTime;
//用户主键
private int uid=1;


public String getTitle() {
return title;
}

public void setTitle(String title) {
this.title = title;
}

public String getContent() {
return content;
}

public void setContent(String content) {
this.content = content;
}

public String getPublishTime() {
return publishTime;
}

public void setPublishTime(String publishTime) {
this.publishTime = publishTime;
}

public int getUid() {
return uid;
}

public void setUid(int uid) {
this.uid = uid;
}


public void getInfo(Tip tip){ //+"\n用户Id:"+this.uid

System.out.println("====帖子信息===="+"\n标题:"+tip.title+"\n内容:"+tip.content+"\n发表时间:"+tip.publishTime+"\n");
}
}

主贴子类
package com.t70.editity;
public class Topic extends Tip {
public Topic() {
// TODO Auto-generated constructor stub
}

public Topic(String title, String content, String publishTime) {
super(title, content, publishTime);
// TODO Auto-generated constructor stub
}
public Topic(String title, String content, String publishTime, int topicId,int boardId) {
super(title, content, publishTime);
this.topicId=topicId;
this.boardId=boardId;
}

private int topicId;
private int boardId;

public int getTopic() {
return topicId;
}

public void setTopic(int topicId) {
this.topicId = topicId;
}


public int getBoardId() {
return boardId;
}

public void setBoardId(int boardId) {
this.boardId = boardId;
}


public void getInfo(Tip tip){
System.out.println("====主贴信息===="+"\n主贴标题:"+this.getTitle()+"\n主贴内容:"+tip.getContent()+"\n发表时间:"+tip.getPublishTime()+"\n");
}
}

回帖子类
package com.t70.editity;
public class Reply extends Tip {

public Reply() {
// TODO Auto-generated constructor stub
}

public Reply(String title, String content, String publishTime) {
super(title, content, publishTime);
// TODO Auto-generated constructor stub
}
public Reply(String title, String content, String publishTime, int uid,int replyId,int topicId) {
super(title, content, publishTime);
this.replyId=replyId;
this.topicId=topicId;
}

private int replyId; //回帖id
private int topicId; //主贴id
public int getReplyId() {
return replyId;
}

public void setReplyId(int replyId) {
this.replyId = replyId;
}

public int getTopicId() {
return topicId;
}

public void setTopicId(int topicId) {
this.topicId = topicId;
}

public void getInfo(Tip tip){
System.out.println("====回帖信息===="+"\n回帖标题:"+tip.getTitle()+"\n回帖内容:"+tip.getContent()+"\n发表时间:"+tip.getPublishTime()+"\n");
}
}


测试类
package com.t70.test;
//import java.util.*;
import com.t70.editity.*;

public class TipTest {


public static void main(String[] args) {
// TODO Auto-generated mexthod stub
//Date date=new Date();
//long time=date.getTime();
//System.out.println(time);
Topic topic=new Topic("C#.....","C#是微软开发的...","2009-11-11 20:50");
Reply relpy=new Reply("废话..","Re:谁不知道啊!!","2009-11-11 21:00");
Tip tip=new Tip();
tip.getInfo(topic);
tip.getInfo(relpy);
}
}
输出结果不对。全是按父类方法输出的。。。 麻烦高手帮我看看是哪里的问题。

不是应该调用父类方法的吗?

最佳答案

没有用到多态。


Tip tip=new Reply("废话..","Re:谁不知道啊!!","2009-11-11 21:00");


父类对象引用子类对象,这个是多态的必要条件,tip调用的方法现在都是replay中的方法了。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
急,谁能帮我装扮下空间?
可以直接下载的小说网站
是OPPOM1618,这种手机怎么只能用零八版的,一
如何去爱呢?
北京到连云港多少公里,连云港到潍坊坐火车或
“究竟只是”“究竟还是”“究竟是”的用法
苏慕遮,长亭晚,两情相悦,怎敌日久天长
超级QQ现在关了,这个月以后还扣钱吗?
鬼泣4给个无毒的修改器(有毒灭了你!)
MBA 真王者
我要到朝阳去住。可暂住证是良乡的。是不是要
为什么我激活不了visita,我的序列号是真的,
山东鑫瑞铝业科技公司这个地址在什么地方,我
PSP记忆棒出问题了
一个人你反复给你打电话 却在问同样问你在做
推荐资讯
嘛是4G通讯?
一片丹山翠万重,寒流曲曲倒芙蓉。出自那首诗
发型,急,高手进
爱情是啥?
2011大运会24项单项体育动作的全部图案?
我的索爱K810数据会无故丢失,什么问题?
惠普 CQ510 如何格式化
大话3地府牛头怎么没见 在哪
营造氛围的方法有哪些,<<雨巷>>描写哪些意象
怎样购买车载gps导航仪
网吧服务器的配件基本有哪些?
怎么丝路四川三区进不去啊?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?