• day_14


    --暑假学习第十四天--

    一.  Object对象

    面向对象的核心思想:“找合适的对象,做适合的事情”。

    合适的对象:

    1.      自己描述类,自己创建对象。

    2.      sun已经描述了好多常用的类,可以使用这些类创建对象。

    API(Application Program Interface)

           sun定义的那么多类的终极父类是Object。Object描述的是所有类的通用属性与方法。

    二. toString方法

    toString() 返回对象的描述信息   java.lang.Object@de6ced   类名@哈希码值的十六进制形式。

    直接输入一个对象的时候,会调用对象的toString方法。

    问题:调用p的toString方法时,打印出来的信息是类名+内存地址值。不符合要求。根据我们之前学的继承,假如父类的指定的功能不能满足要求,那么子类可以复写父类的功能函数。那么该对象再调用toString()方法时,则会调用子类复写的toString方法。

    编程习惯:开发者要对自定义的类重写toString(),对对象做详细的说明。

     三.  equals方法

    equals()  返回的是比较的结果  如果相等返回true,否则false,比较的是对象的内存地址值。

    问题:比较两个人是否是同一个人,根据两个人的名字判断。

    问题:如果根据名字去作为判断两个人是否是同一个时,明显p与p1是同一个人,但是程序输入却不是同一个人。不符合我们现实生活的要求。

    解决: 根据我们学的继承中的函数复写,如果父类的函数不能满足我们目前的要求,那么就可以在子类把该功能复写,达到复合我们的要求。

    编程习惯:开发者要对自定义的类重写equals(),使得比较两个对象的时候比较对象的属性是否相等,而不是内存地址。

    四.    hashCode方法

    hashCode() 返回该对象的哈希码值: 采用操作系统底层实现的哈希算法。 同一个对象的哈希码值是唯一的。

    java规定如果两个对象equals返回true,那么这两个对象的hashCode码必须一致。

    五. String

    String类描述的是文本字符串序列。  留言   QQ   写日志。

    创建String类的对象的两种方式:

    1.       ""直接赋值法

    2.       new关键字法

    六.   字符串对象的比较

    String Str = “jack”这个语句会先检查字符串常量池是否存放这个”jack1”这个字符串对象,如果没有存在,那么就会在字符串常量池中创建这个字符串对象,如果存在直接返回该字符串的内存地址值。

    String str3 = new String(“jack”) 该语句会创建两个对象,首先会先检查字符串常量池中存不存在jack这个字符串对象,如果不存在就会创建,如果存在就返回内存地址值。创建了出来之后,new String这个语句就会在堆内存中开辟一个字符串对象。总共两个对象。

    七.eclipse使用的步骤

     第一步: 选择工作目录。 以后在Eclipse上面写的所有代码都是在工作目录上的。
     
     第二步: 在Project Exploer 窗口上创建一个工程,以后我们写代码都是以工程作为单位的。

     新建工程的 步骤: 
      Project Exploer 窗口右击----------> New---------> java Project
     
     第三步: 在工程的src目录下右击,new 一个Class就创建了一个类。
      
      工程的目录介绍:
       settings: elcipse自动生成的配置文件。 别碰它。  
       bin: 用于存放所有的class文件。
       src: 用于存放所有的java源文件。
     
     第四步: 运行java文件。
       
      方式一:  java的源代码右击-------->run  as -----------> java application
     
      方式二:  绿色箭头--------->run  as -----------> java application
      
      方式三:  快捷键的运行: ctrl+ f11

     第五步:导入工程。
     
  • 相关阅读:
    Linux基本知识
    Linux 基金会发起开源创新计划,为全球对抗 COVID-19 提供基础架构
    单片机程序设计有十层功力,你现在在哪一层?
    C语言太复杂?CUDA Python也能实现并行计算加速!
    Java 基础 子类赋值给父类问题
    SpringBlade AVUE 拖拽排序
    java 基础 Long类型 判断是否相等
    数字量输入模块和模拟量输入模块的区别是什么?
    模拟量输入模块和模拟量输出模块的应用范围
    NB-IOT关键技术分析
  • 原文地址:https://www.cnblogs.com/seduce-bug/p/9389172.html
Copyright © 2020-2023  润新知