java--toString()方法练习

本文介绍了如何定义一个继承自GeometricObject的Circle类,包括其属性、构造器、getter和setter方法。Circle类中包含了计算面积的方法、重写的equals方法用于比较半径以及toString方法,用于输出圆的半径信息。测试类展示了如何创建Circle对象,比较颜色、半径并使用toString方法打印圆的半径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义两个类,父类GeometricObject代表几何形状,子类Circle代表圆形

GeometricObject

protected  String  color

protected  doule  weight

protected  GeometricObject()初始化对象的color属性为"white",weight属性为1.0

protected GeometricObject(String color,double weight)

属性的getter和setter方法

Circle

private  double  radius

public Circle()初始化对象的color属性为"white",weight属性为1.0,radius属性为1.0

public Circle(double radius)初始化对象的color属性为"white",weight属性为1.0,radius根据参数构造器确定

public Circle(double radius,String color,double weight)

radius属性的setter和getter方法

public double findArea():计算圆的面积

public boolean equals(Circle c)重写equals方法,比较两个圆的半径是否相等,如相等返回true

public String toString()重写toString方法,输出圆的半径

写一个测试类,创建两个Circle对象,判断其颜色是否相等,利用equals方法判断半径是否相等,利用toString()方法输出其半径

package test2;

public class TestGeometricObject {

	public static void main(String[] args) {
         Circle r1 = new Circle(2.3);
         Circle r2 = new Circle(2.3);
         System.out.println(r1.equals(r2));
         System.out.println(r1.toString());
	}

}

class GeometricObject{
	protected String color;
	protected double weight;
	
	protected GeometricObject() {
		super();
		this.color="white";
		this.weight=1.0;
	}
	protected GeometricObject(String color, double weight) {
		this.color = color;
		this.weight = weight;
	}
	public String getColor() {
		return color;
	}
	public void setColor(String color) {
		this.color = color;
	}
	public double getWeight() {
		return weight;
	}
	public void setWeight(double weight) {
		this.weight = weight;
	}
	
}

class Circle extends GeometricObject{
	private double radius;

	public Circle() {
		super();
		this.radius=1.0;
	}

	public Circle(double radius) {
		super();
		this.radius = radius;
	}

	public Circle(double radius,String color,double weight) {
		super(color,weight);
		this.radius = radius;
	}

	public double getRadius() {
		return radius;
	}

	public void setRadius(double radius) {
		this.radius = radius;
	}
	
	public double findArea() {
		return 3.14*radius*radius;
	}
	public boolean equals(Circle c) {
		if(this==c) {
			return true;
		}else if(c instanceof Circle) {
			Circle r=(Circle)c;
		    return this.radius==r.radius;
		}else {
			return false;
		}
	}
	public String toString() {
//		return radius+"";
		return String.valueOf(radius);
	}
	
}

测试结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值