toString&&equals方法

先来看看这个题该怎样做?

分析:

1.java里的三大特性,有封装,继承,多态(方法的重载),super,this等关键字

2.常用的方法,equals方法,toString方法

3. double向字符串类型转换。

代码:

import java.util.*;
class GeometricObject
{
    protected  String  color ;
    protected  double  weight;
    
    protected GeometricObject() {
        color="red";
        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 Circle1 extends GeometricObject
{
    private double radius;

public Circle1() {
         super("res",1.0);
         radius=1.0;
    }

public Circle1(double radius) {
         super("res",1.0);
        
        this.radius = radius;
    }
    public Circle1(String color, double weight,double radius) {
         super(color, weight);
         this.radius=radius;
    
    }

//getter setter字段
    public double getRadius() {
        return radius;
    }

public void setRadius(double radius) {
        this.radius = radius;
    }
  //计算圆的面积
    public double findArea()
    {
        return Math.PI*radius*radius;
    }
    //布尔方法
    public boolean equals(Circle1 c)
    {
        if(c.radius==this.radius)
            return true;
        else
            return false;
    }
    public String toString()
    {   
        System.out.println("圆的半径为:"+radius);
        return String.valueOf(radius);
    }

}

public class TestCicle {
    public static void main(String[] args)
    {
        Circle1 c1=new Circle1("red",1.0,2.0);
        
        Circle1 c2=new Circle1("red",1.0,2.0);
        
        if(c1.color==c2.color)
        {
            System.out.println("颜色相同");
        }
        else
        {
            System.out.println("颜色不相同");
        }
        
        if(c1.equals(c1)==c2.equals(c2))
        {
            System.out.println("半径相同");
        }
        else
        {
            System.out.println("半径不相同");
        }
            System.out.println(c1.equals(c2));
            c1.toString();
    }

}

运行结果:

颜色相同
   半径相同
     true
  圆的半径为:2.0

其中equals方法时用来比较当前对象的类容是否与参数指点的字符串的内容相同。

本题中比较c1和c2两个对象的半径是否相同。

String s1=new String("hello");

String s2=new String("hello");

s1.equals(s2);

结果是: true ,s1和s2的内容都是hello

注意:比较字符串是不能用"==" ,当用"==",实际是判断两个字符串是否为同一个对象,即使类容相同,但它们是不同的对象

s1==s2 ,这样比较是错误的。

需要说明的是本题中

public String toString()
    {   
        System.out.println("圆的半径为:"+radius);
        return String.valueOf(radius);
    }

定义的是一个字符串方法,则返回值必须String类型的。其中radius是double类型的,需要将double类型的radius转换为String类型 ,方法有多种 String.valueOf(radius);这是其中的一种方法

还可以有其他的方法。

希望这篇小小的博客对大家有帮助,如果帖子中有错误之处还希望大家批评,指点。

转载于:https://www.cnblogs.com/pwhit/p/5003690.html

toStringequals方法相关推荐

  1. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群

    作者:Jeffrey Hunter 了解如何以低于 2,700 美元的费用在 Oracle Enterprise Linux 上安装并配置 Oracle RAC 11g 第 2 版开发集群. 本指南中 ...

  2. Java面试题大全2021版

    一.Java 基础 JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Run ...

  3. Kotlin协程使用,协程使用注意事项,协程中的await方法使用|不使用suspend使用协程

    参见 码云 协程使用方法一 (Dispatchers调度器模式) 指定不同线程.同线程会挂起并阻塞(挂起是不影响主线程执行,阻塞是同样的IO线程会阻塞) withContext(Dispatchers ...

  4. IDEA中将代码块封装为方法,IDEA代码重构快捷键

    IDEA中将代码块封装为方法 选中要转换的代码块,快捷键: Windows快捷键:Alt + Shift + M Mac快捷键:Alt + Command + M 如图:

  5. IDEA自动生成对象所有set方法

    idea中有一款插件能够生成对象所有的set方法,GenerateAllSetter :下载地址 步骤1:将下载好的压缩包放在自己记得的文件夹中,在idea中进行导入 步骤2:在本地选中刚才的压缩包, ...

  6. List元素互换,List元素转换下标,Java Collections.swap()方法实例解析

    Java Collections.swap()方法解析 jdk源码: public static void swap(List<?> list, int i, int j) {// ins ...

  7. java1.8新增超实用Map方法——Map.getOrDefault()和Map.value()方法详解

    1. Map.getOrDefault() 翻译一下官方解释: java.util.Map<K, V> V getOrDefault(Object key, V defaultValue) ...

  8. spring boot项目 中止运行 最常用的几种方法

    spring boot项目 中止运行 最常用的几种方法: 1. 调用接口,停止应用上下文 @RestController public class ShutdownController impleme ...

  9. Java Calendar.add()方法的使用,参数含义。指定时间差。

    cal.add()方法中的参数含义: 第一个参数如果是1则代表的是对年份操作,2是对月份操作,3是对星期操作,5是对日期操作,11是对小时操作,12是对分钟操作,13是对秒操作,14是对毫秒操作. 第 ...

  10. 设置select下拉框不可修改的→“四”←种方法

    设置select下拉框为不可修改的几种方法: 因为select的特殊性,导致它不能像input表单一样简单地设置一个readonly来限制修改,所以,我们需要进行别的操作! 1.为下拉框添加样式,可以 ...

最新文章

  1. java mcrypt encrypt_PHP mcrypt_encrypt加密,使用java解密
  2. 判断两个数组中是否存在相同的数字
  3. python打开word内对象_Python操作Word:常用对象介绍
  4. Nginx 反向代理解决浏览器跨域问题
  5. 可以掉落和滑动的星星
  6. 马哥学习----李洋个人笔记----安全和加密
  7. Matlab伯德图如何修改相频特性的角度?终于解决了!
  8. java9在win10下环境变量设置笔记
  9. M3U8视频解密下载
  10. virtualenv virtualenvwrapper
  11. TouchID 指纹登录
  12. Python培训课程推荐
  13. c++运用界面编程高仿金山毒霸,图形界面这个知识点是必学的!
  14. 映秀的春天--纪念5·12汶川大地震一周年
  15. 运行tomcat7w.exe提示指定的服务未安装 解决办法
  16. MSF:Web 后门
  17. BS EN ISO 4589塑料-用氧指数法测定燃烧行为-第2部分:室温测试
  18. 自清洗袋式过滤器的自清洗方法
  19. JS日历插件 - My97 DatePicker
  20. windows 映射samba Linux服务器,输入正确的账号密码却提示“ 指定的网络密码不正确

热门文章

  1. 以太坊 solidity 教程
  2. 国外企业级区块链 联盟链
  3. 区块链 智能合约安全 对关键状态变量的意外更改
  4. 【Django 2021年最新版教程31】Jmeter安装 如何并发测试
  5. 区块链 FISCO BCOS网络端口讲解
  6. 基于SSM的家具商城系统
  7. h3c服务器设置u盘引导,H3C FlexServer R390服务器装系统前的准备工作
  8. linux mysql 主从数据库_Linux下MySQL数据库主从同步配置
  9. java线程视频教程_java线程视频教程
  10. Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(