zoukankan      html  css  js  c++  java
  • Java的API及Object类

    1、java的APIAPI: Application(应用) Programming(程序) Interface(接口)

     (1)

    Java API就是JDK中提供给我们使用的类,这些类将底层的代码实现封装了起来,我们只要学会这些类如何使用即可。

    JDK安装目录下有个src.zip文件,这个文件解压缩后里面的内容是所有Java类的源文件。可以在其中查看相对应的类的源码。

    就是发给我们的这个应用:

     (2)object类:

    Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。所有类在创建对象的时候,最终找的父类就是Object

     (3)equals方法

    --------------------equals方法,用于比较两个对象是否相同(使用两个对象的内存地址在比较)

    比较两个对象是否相同,经常会根据对象中的属性值进行比较,也就是在开发经常需要子类重写equals方法根据对象的属性值进行比较

     注意:

    复写Object中的equals方法时,一定要注意public boolean equals(Object obj)的参数是Object类型,在调用对象的属性时,一定要进行类型转换,在转换之前必须进行类型判断。

    (4)toString方法

    toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。

    toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。

     ========================================================================================================================================

    equals和toString 方法应用举例说明:

    public class Person {
        private String name;
        private int age;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public Person(String name, int age) {
            super();
            this.name = name;
            this.age = age;
        }
        public boolean equals(Object obj) {
            if(obj==null){
                return false;
            }
            if(obj==this){
                return true;
            }
            if(obj instanceof Person){
                Person p=(Person)obj;
            return this.getAge()==p.getAge();
            }
            return false;
        }
        /*@Override
        public String toString() {
            String mes="姓名为"+this.getName()+"年龄为"+this.getAge();
            return mes;
        }*/
        @Override
        public String toString() {
            return "Person [name=" + name + ", age=" + age + "]";
        }
    }
    package demo06;
    
    import java.util.ArrayList;
    
    public class Test {
    
        public static void main(String[] args) {
        Person p1=new Person("小红",18);
        Person p2=new Person("小明",19);
        //Object类中的equals方法比较的是地址
        System.out.println(p1.equals(p2));
        System.out.println(p1.toString());//toString()方法可写可不写,是默认的
        ArrayList<String> list=new ArrayList<String>();
        System.out.println(list);
        
        }
    }
  • 相关阅读:
    Pycharm 调试system-config-users
    只写了两行代码,为什么要花两天时间?
    为开源做贡献的6个技巧
    2020年10月编程语言排行榜
    全球最厉害的 14 位程序员
    6_38_二叉树的后序遍历非递归算法(和先序有些许不一样)
    6_37_二叉树的先序遍历非递归算法
    6_36_相似二叉树
    6_33_两个一维数组判断u是否为v的子孙
    6_34_扩展判断u是否为v的子孙
  • 原文地址:https://www.cnblogs.com/yang1182/p/9708015.html
Copyright © 2011-2022 走看看