zoukankan      html  css  js  c++  java
  • 课后作业3,验证代码并分析

    1、package haha;

     

    class haha

    {

        public String Information="";

        public void main(String args)

        {

        System.out.println(args);

        }

    private int value;

    public int getValue()

        {

        return value;

        }

    public void setValue(int value)

        {

        this.value=value;

        }

    }

     

     

    public class tiaoshi

    {

        public static void main(String args[])

        {

            haha obj=new haha();

            obj.main("hello");

            obj.setValue(100);

            System.out.println(obj.getValue());

            obj.Information="Information";

            System.out.println(obj.Information);

        }

    }

    执行结果为:

    hello

    100

    Information

    原因:

    main(“hallo”)执行的为main函数,在main函数中,接受的为字符串,赋给args,直接输出。

    SetValue函数接收value的值,getvalue函数返回value。

    第三个输出直接调用haha类中的Information直接赋值。

     

     

    2、package haha;

     

    public class tiaoshi

    {

        public static void main(String args[])

        {

        int value;

        System.out.println(value);

        }

    }

    无法执行,输出value的时候要求初始化value变量。

    package haha;

     

    public class tiaoshi

    {

        public static void main(String args[])

        {

        int value=100;

        System.out.println(value);

        }

    }

    可以执行,输出100。

     

    3、package haha;

     

    public class tiaoshi

    {

        public static void main(String args[])

        {

        int value1=100;

        int value2=100;

        System.out.println(value1==value2);

        }

    }

    执行结果为true。

      package haha;

     

    public class tiaoshi

    {

        public static void main(String args[])

        {

        Foo h1=new Foo();

            Foo h2=new Foo();

            System.out.println(h1==h2);

        }

    }

      class Foo

      {

          int value=100;

      }

    执行结果为false

    此时比较的不是两个对象中的数据,而是两个对象的地址是否一直。

    package haha;

     

    public class tiaoshi

    {

        public static void main(String args[])

        {

        Foo h1=new Foo();

            Foo h2=new Foo();

            System.out.println(h1==h2);

            System.out.println(h1.equals(h2));

        }

    }

      class Foo

      {

          public boolean equals(Object obj)

          {

              return value==this.value;

          }

          int value=100;

      }

    执行结果为:

    False

    True

    此时在foo类中定义了boolean函数比较的不是两个对象,而是对象中的数据。

     

    4、package haha;

     

    public class tiaoshi

    {

        public static void main(String args[])

        {

        Foo h1=new Foo();

        }

    }

      class Foo

      {

          int value;

          public Foo(int intvalue)

          {

              value=intvalue;

          }

      }

    无法执行,由于当你不定义Foo方法的时候,电脑会执行自身的默认的方法,但是如果定义了之后,就会执行你写的方法。

    5、package haha;

     

    class haha

    {

        {

            field=200;

        }  

        public int field=100;

        public haha(int value)

        {

            this.field=value;

        }

        public haha()

        {

           

        }

    }

    public class tiaoshi

    {

        public static void main(String args[])

        {

            haha obj=new haha();

            System.out.println(obj.field);

           

            obj=new haha(300);

            System.out.println(obj.field);

        }

    }

    执行结果为:

    100

    300

    当创建的对象为haha()和haha(300)时,由于类型并不一样,电脑会匹配与之对应的方法。所以使用的方法并不一样。

     

    6、package haha;

     

    public class tiaoshi

    {

        public static void main(String args[])

        {

            Integer i1=100;

            Integer j1=100;

            System.out.println(i1==j1);

           

            Integer i2=129;

            Integer j2=129;

            System.out.println(i2==j2);

        }

    }

    执行结果为:

    True

    False

    原因是integer类型的取值范围是-128到+127之间的,当超出这个范围就无法正常比较了。

      

  • 相关阅读:
    C# 安装部署Windows服务脚本
    Oracle DataTable的数据批量写入数据库
    C# 日志的配置流程
    C# CSV文件读写
    C# 读写App.config配置文件的方法
    C# 限速下载网络文件
    js 获取纯web地址栏中URL传参
    android 获取通话记录
    vue.js sha256加密
    chrome浏览器插件开发实例
  • 原文地址:https://www.cnblogs.com/CHAHA123/p/7691632.html
Copyright © 2011-2022 走看看