zoukankan      html  css  js  c++  java
  • 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();

    }

    }

  • 相关阅读:
    Java基础环境配置及HelloWorld
    Cassandra 在 360 的实践与改进
    如何构建阿里小蜜算法模型的迭代闭环?
    通用高效的数据修复方法:Row level repair
    RALM: 实时 Look-alike 算法在微信看一看中的应用
    人机对话技术研究进展与思考
    打造最可靠的自动驾驶基础架构
    Django中render和render_to_response的区别
    ui自动化chrome文件上传操作
    超继承super
  • 原文地址:https://www.cnblogs.com/r123/p/7570235.html
Copyright © 2011-2022 走看看