• toString&&equals方法


                                                                                       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);这是其中的一种方法

    还可以有其他的方法。

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

                                                                                                         

     

        

      

    编程是一门艺术,要爱就要深爱。
  • 相关阅读:
    量身打造自己的MyEclipse(多图)
    DevExpress v17.2新版亮点—WPF篇(五)
    DevExpress WPF入门指南:绑定编辑器对话框
    MyEclipse 2017 Stable 2.0发布|附下载
    springmvc常用注解标签详解
    什么是SpringMVC?
    SpringBoot页面渲染
    怎样理解Spring的IOC和AOP?
    LESS 原理,一款css的预处理程序Less的使用
    移动端web app要使用rem实现自适应布局:font-size的响应式
  • 原文地址:https://www.cnblogs.com/pwhit/p/5003690.html
Copyright © 2020-2023  润新知