简易[Java]个人项目: 重写从超类继承的方法
个人写作项目:重写从超类继承的方法:定义一个名为Point类表示点,构造方法public Point(double x, double y),访问方法有get X()和get Y()。
(1) 重写从超类继承的toString()方法,调用该方法返回类点的x和y坐标值;
(2) 重写equals()方法,当两个点的x和y坐标分别相等,方法返回true,否则返回false;
(3) 重写hashCode()方法,计算哈希码;
(4) 编写main()方法,测试上述方法的使用。
【提示】建立完整的JavaBean类,重写相应方法即可
测试类:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入X坐标:");
double x = input.nextDouble();
System.out.print("请输入Y坐标:");
double y = input.nextDouble();
Point point = new Point(x, y);
System.out.println("坐标X,Y分别为:" + point.toString());
System.out.println("坐标是否相等:" + point.equals(x));
System.out.println("坐标的哈希值为:" + point.hashCode());
}
参与类:
/**
* @program: Day01
* @ClassName Point
* @description(类信息): 坐标点
* @author: honor
* @create: 2024-04-28 10:12
* @Version 1.0
**/
public class Point extends Object {
private double x;
private double y;
public Point(double x, double y) {
this.x = x;
this.y = y;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
@Override
public String toString() {
super.toString();
return getX() + "\t" + getY();
}
@Override
public boolean equals(Object obj) {
return x == y;
}
@Override
public int hashCode() {
super.hashCode();
return (int)(getX()+getY());
}
}
思路:
正常写作,基础的继承与重写操作,无其它特殊点.
问题:
哈希值不够熟悉,整数哈希值是其本身
在超类Object可以不写 extends 依旧能够继承
super.String等重写类内调用父类不够熟悉,容易出现类型不同的操作失误
总结:
较为基础的一次写作,方法运用正常无特别注意的地方.需要熟悉相关概念的熟悉写作,方法通用性较好.