• 2017-09-21


    Object 类:

    Object 类是所有类的父类,位于java.lang包中;

    数组是object类的子类;

    Object 和object [ ]的区别:

    Object :任何类型的参数都可以进行传进执行;

    object [ ]:对象型数组,只能接受保存引用类型的数组;

    Object类的常用方法:

    toString();   

    toString方法可以将任何一个对象转换成字符串返回,返回值的生成算法为:getClass().getName() + '@' + Integer.toHexString(hashCode())

     

      equals();
    Object类中的equals方法,用来比较两个引用的虚地址。当且仅当两个引用在物理上是同一个对象时,返回值为true,否则将返回false

    比较对象的虚地址,但是可以在类中被重写。

    :String类重写了,两个相同值的String对象相比较为   true;

        String str=new String(123);

        String str1=new String(123);

        System.out.println(str.equals(str1));à打印为true.

    ==

        比较的是内存中的虚地址

         String str=new String(123);

         String str1=new String(123);

         System.out.println(str==str1);à打印为false

     

      hashCode()

    获取对象的哈希码值,为16进制

     

    父类:

    public class Course {

    String title;

    int money;

    Course(){

    System.out.println("父类----------无参");

    }

    public Course(String title,int money){

    this.title = title;

    this.money = money;

    System.out.println("父类----------有参");

    }

    void teach(){

    System.out.println("父类----------teach");

    }

    }

    子类1

    public class courseSon1 extends Course{

    String title;

    int money;

    courseSon1(){

    System.out.println("子类1----------无参");

    }

    public courseSon1(String title,int money){

    this.title = title;

    this.money = money;

    System.out.println("子类1----------有参");

    }

    void teach(){

    System.out.println("子类1----------teach");

    }

    void student(){

    System.out.println("子类1----------student");

    }

    public String toString() {

    return "courseSon [title=" + title + ", money=" + money + "]";

    }

    public boolean equals(courseSon1 obj) {

    String str = this.title;

    if(str.equals(obj.title)&this.money==obj.money) {

    return true;

    }else {

    return false;

    }

    }

    }

    子类2

    public class courseson2 extends Course {

    String title;

    int money;

    courseson2(){

    System.out.println("子类2----------无参");

    }

    public courseson2(String title,int money){

    this.title = title;

    this.money = money;

    System.out.println("子类2----------有参");

    }

    void teach(){

    System.out.println("子类2----------teach");

    }

    void student(){

    System.out.println("子类2----------student");

    }

    public String toString() {

    return "courseSon [title=" + title + ", money=" + money + "]";

    }

    public boolean equals(courseson2 obj) {     //

    System.out.println(obj.title);

    String str = this.title;

    if(str.equals(obj.title)&this.money==obj.money) {

    return true;

    }else {

    return false;

    }

    }

    }

    public class Main {

    public static void main(String[] args) {

    // TODO Auto-generated method stub

    courseSon1 dddd = new courseSon1("数学",100);

    courseson2 aaaa = new courseson2("数学",100);

    courseson2 cccc = new courseson2("数学",100);

      

    System.out.println(dddd.equals(aaaa));     //如果没有重写equals方法,结果false

    System.out.println(dddd.equals(cccc));

    System.out.println(aaaa.equals(cccc));      

    fun(dddd);

    fun(aaaa);

    System.out.println(dddd.toString());     //因为子类没有返回值    结果是地址

    System.out.println(aaaa.toString());     

    }

    static void fun(Course cs) {

    cs.teach();

    }

    }

  • 相关阅读:
    C#序列化效率对比
    将聚合记录集逆时针和顺时针旋转90度(行列互换)
    Sql的行列转换
    log4net配置
    input框添加阴影效果
    WCF自定义地址路由映射(不用svc文件)
    Jquery对当前日期的操作(格式化当前日期)
    用JQuery获取输入框中的光标位置
    sublime text3安装后html:5+Tab不能快速生成html头部信息的解决办法
    js获取url传递参数,js获取url?号后面的参数
  • 原文地址:https://www.cnblogs.com/r123/p/7570235.html
Copyright © 2020-2023  润新知