toString()方法
1: 当我们调用一个对象的引用时,实际就是调用当前对象的toString方法. 2: String Date, File 包装类都重写了Object类中的toString()方法,使得在调用对象的toString()方法时,返回的 "实体内容" 信息 3: 自定义类 也可以重写toString()方法,当调用此方法的时候, 返回这个对象的实体内容
?定义两个类,父类GeometricObject代表几何形状,子类Circle代表圆形。
解答:
public class GeometricObject { protected String color; protected double weight; public String getColor() { return color; } public void setColor(String color) { this.color = color; } public double getWeight() { return weight; } public void setWeigut(double weight) { this.weight = weight; } protected GeometricObject() { super(); this.color = "white"; this.weight = 1.0; } protected GeometricObject(String color, double weight) { super(); this.color = color; this.weight = weight; } }
public class Circle extends GeometricObject { private double radius; public Circle() { super(); // this.color = "white"; // this.weight = 1.0; this.radius = 1.0; } public Circle(double radius) { super(); this.radius = radius; } public Circle(double radius, String color, double weight) { super(color, weight); this.weight = weight; } public double getRadius() { return radius; } public void setRadius(double radius) { this.radius = radius; } /** * 求圆的面积 * @return */ public double findArea(){ return 3.14 * radius * radius; } @Override public boolean equals(Object obj){ if(this == obj){ return true; } if(obj instanceof Circle){ Circle circle = (Circle) obj; return this.radius == circle.radius; } return false; } @Override public String toString(){ return "Circle [ radios =" + radius + " ]"; } }
public class CicleTest { public static void main(String[] args) { Circle circleOne = new Circle(6.0); Circle circleTwo = new Circle(6.0,"white",2.0); System.out.println(circleOne.findArea()); System.out.println(circleOne.getColor().equals(circleTwo.getColor())); System.out.println(circleOne.equals(circleTwo)); System.out.println(); } }
原文:https://www.cnblogs.com/zhaoyunlong/p/11636484.html