[英]java polymorphism and interface implementation
我是二年级学生,我们目前正在学习 Java。 我很困惑如何在标题上做这两个,尤其是在为我们提供的练习中。 希望得到意见和帮助。 谢谢!
问题:创建一个名为Comparison的接口,其方法可用于比较两个Time 对象。 这些方法将包括isGreater、isLess 和 isEqual 。 创建另一个将实现这些方法的 class。
到目前为止我的代码:
import java.util.*;
interface Comparison {
boolean isGreater(Time x, Time y);
boolean isLess(Time x,Time y);
boolean isEqual(Time x, Time y);
}
public class Time implements Comparison {
int am, pm;
public boolean isGreater(Time x, Time y) {
if (am > pm) {
System.out.print("True");
}
else
System.out.print("False");
}
public boolean isLess(Time x,Time y) {
if (am < pm) {
System.out.print("True");
}
else
System.out.print("False");
}
public boolean isEqual(Time x, Time y) {
}
}
public class Main {
public static void main(String[] args) {
System.out.println("Enter your first number: ");
int x = new Time();
System.out.println("Enter your second number: ");
int y = new Time();
}
}
谢谢您的帮助!
public
外部(顶级)类public
class,则文件名应与顶级public
class 名称匹配am
和pm
的比较似乎与Time
无关Time
参考以获取null
值boolean
的方法应返回boolean
值public boolean isGreater(Time x, Time y) {
if (x == null && y == null) {
return true; // you need to decide whether this is true or false
} else if (x == null || y == null) {
return false;
}
return x.getTime() > y.getTime(); // assumes getTime() returns a number
}
如果我正确理解您的查询,即您尝试比较 2 个不同的时间值(如果这是唯一的情况),请参考以下代码,否则请详细说明您的要求,以便我更正源代码以帮助您。
根据您的源代码,AM 和 PM 与时间无关。 我们可以通过两种方式消磨时间。
步骤:1 => 创建主 class。 步骤:2 => 在 class 之外创建一个接口。 将时间数据类型设置为长。
interface Comparison {
boolean isGreater(long xTime, long yTime);
boolean isLess(long xTime, long yTime);
boolean isEqual(long xTime, long yTime);
}
Step:3 => 创建一个 TimeManager[anyname] class 来实现比较接口。 实现接口方法。
class TimeManager implements Comparison {
@Override
public boolean isGreater(long xTime, long yTime) {
return xTime > yTime ? true : false;
}
@Override
public boolean isLess(long xTime, long yTime) {
return xTime < yTime ? true : false;
}
@Override
public boolean isEqual(long xTime, long yTime) {
return xTime == yTime ? true : false;
}
}
步骤:4 => 将调用语句写入主方法并使用来自 java.utils 的日期 object 传递时间
public static void main(String[] args) {
System.out.println("Enter your first number: ");
long x = new Date().getTime();
System.out.println("Enter your second number: ");
long y = new Date().getTime();
}
我希望这会对你有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.