一、包

java.lang包,属于java中的核心包,系统默认导入的,不用手动导入
该包中的类:Object、System、String、Integer等

1、包的好处

①分类管理java文件,查找和管理方便
②解决了同一个项目中同名类的问题

2、包的创建

①新建class的同时指定包
②新建package
③强制添加包的声明

3、包的命名

遵循标识符的命名规则:包含数字、字母、下划线、$符号,不能用数字开头,不能是关键字,标识符和标识符之间使用小圆点分割
命名规范:遵循域名倒置的写法
  com.公司名.业务模块名
常见的业务模块名:view视图、domain/bean/pojo实体类、service业务

4、包的声明和导入

(1)声明
  语法:package 包名;
  位置:放在class的最上面
  个数:至多有一个
(2)导入
  语法:import 包名.类名;或import 包名.*;
  位置:package——import——class
  个数:可以有多个,没有顺序要求

二、Object类说明

Object类是java中的根类,所有对象都继承了Object类,具备该类的方法

三、创建Object对象

new Object();
注意:一般不需创建Object本类对象,因为可以通过创建子类对象,调用里面的方法

四、常见方法 ★

1、equals

(1)说明:判断两个对象是否相等
(2)原型:
  public boolean equals(Object obj){
    return this==obj;
  }

(3)==和equals的对比

== 如果判断引用类型,比较的是地址;如果判断基本类型,比较的是值。注意:左右的操作数的类型必须一致或兼容
equals 只能判断引用类型,默认比较的是地址,子类可以重写该方法用于比较内容

(4)如何重写equals ★

public boolean equals(Object o){
  if(this == o)
    return true;
  if(!(o instanceof XX))
    return false;
  XX t = (XX)o;
  return this.name.equals(t.name);//返回具体的比较逻辑
}

2、toString

(1)说明:返回对象的字符串形式
(2)原型:
  public String toString(){
    return getClass().getName()+'@'+Integer.toHexString(hashCode());
  }
(3)特点:默认返回的字符串不好理解,子类往往重写该方法,用于返回对象的属性信息
(4)好处:打印方法和拼接字符串时,将默认调用对象的toString方法

3、hashCode

(1)说明:返回对象的哈希码值
(2)好处:一般用于提高哈希表结构容器的查找性能
(3)特点:对象的哈希值不需要关心,大致等于 对象的地址号。所以:不同对象的哈希值肯定不一样

4、finalize

(1)说明:当对象被回收时,系统自动调用该方法
(2)垃圾回收机制:
  回收的对象:无用对象
  无用的对象:没有任何引用指向的对象
  回收的时机:随机的,不确定

JavaSE基础知识(5)—面向对象(Object类)的更多相关文章

  1. Java面向对象 Object类 内部类

     Java面向对象 Object类    内部类 知识概要:                 一:Object类                 二:内部类 匿名内部类的写法 1.Object O ...

  2. 077 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 02 类和对象

    077 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 02 类和对象 本文知识点:类和对象 说明:因为时间紧张,本人写博客过程中只是对知识点 ...

  3. JavaSE基础知识(5)—面向对象(5.4面向对象三大特征:封装、继承、多态)

    面向对象编程具有三大特征: 封装 继承 多态 一.封装 1.好处 狭义的封装:也就是属性的封装,避免了任意赋值的危险,提高了数据的安全性! ①隐藏一个类中不需要对外提供的实现细节 ②使用者只能通过实现 ...

  4. JavaSE基础知识(7)—常用类

    一.包装类 1.理解 java为八大基本数据类型一一对应提供了引用类型,方便使用里面的属性和方法 2.包装类型 byte——>Byteshort——>Shortint——>Integ ...

  5. JavaSE基础知识(5)—面向对象(5.5 this和super关键字)

    一.this关键字 1.说明 this关键字代表当前类的对象,可以访问本类的属性.方法.构造器注意:谁调用该方法,则this就指谁 2.语法 访问属性: this.属性名 = 值; System.ou ...

  6. JavaSE基础知识总结

    最近回顾了一下Java的基础知识,决定写成博客梳理一遍,主要是JavaSE部分最基础的知识,适合考前突击,学后回顾,不适合作为初学材料. 简单的列个目录吧: 一.数据类型和运算符 二.流程控制与数组 ...

  7. [C#基础]基础知识一: 面向对象的基本知识.

    激励自己有时间多看看.!! C#基础共分为七个部分: 一: 面向对象 二: 值类型, 引用类型, 字符串操作 三: 集合文件操作 四: 正则表达式 五: XML操作 六: 委托, 事件 七: 反射 1 ...

  8. C#基础知识之面向对象以及面向对象的三大特性

    在C#基础知识之类和结构体中我详细记录了类.类成员.重载.重写.继承等知识总结.这里就记录一下对面向对象和面向对象三大特性的广义理解. 一.理解面向对象 类是面向对象编程的基本单元,面向对象思想其实就 ...

  9. javascript的基础知识及面向对象和原型属性

    自己总结一下javascript的基础知识,希望对大家有用,也希望大家来拍砖,毕竟是个人的理解啊 1.1 类型检查:typeof(验证数据类型是:string) var num = 123; cons ...

随机推荐

  1. WordPress版微信小程序3.2版发布

    WordPress版微信小程序(下称开源版)距离上次更新已经过去大半年了,在此期间,我开发新的专业版本-微慕小程序(下称微慕版),同时开源版的用户越来越多,截止到2018年11月26日,在github ...

  2. jquery---筛选总结

    jQuery中筛选这块内容较多,就简单的说明一下说用方法和能有什么样效果,就不弄案例来说明了: 第一类:过滤 1.eq(index|-index) $("p").eq(1).css ...

  3. linux上安装mysql5.6

    CentOS-6.6+MySQL-5.6 部署环境操作系统:CentOS-6.6-x86_64-bin-DVD1.isoMySQL 版本:mysql-5.6.26.tar.gz操作用户:root系统 ...

  4. android 手机权限管理——PermissionsDispatcher

    Android6.0 之后某些权限需要动态申请,相比于之前版本复杂了许多.不过已经有大神给我们写好了框架(PermissionsDispatcher),我们用起来还是很方便. 1.添加引用 根据 gr ...

  5. 转:强制关闭.net程序

    /// <summary> /// 运行DOS命令 /// DOS关闭进程命令(ntsd -c q -p PID )PID为进程的ID /// </summary> /// & ...

  6. 聊一聊Java泛型的擦除

    最近看了<thinking in java>的第十五章泛型,感觉有些东西需要记录下来. 泛型是Java SE5才被引入的概念,现在我的工作中泛型主要使用在集合,这样可以知道set()和ge ...

  7. PHP PDF文件上传

    /** * 上传PDF文件 */ function UploadPdf(){ if(is_array($_FILES)){ $tmp_file = $_FILES['pdf'] ['tmp_name' ...

  8. c#中委托和事件(转)

    C# 中的委托和事件 引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易.它们就像是一道槛儿,过了这个槛的人,觉得真 ...

  9. Split CSV/TXT file

    void Main(){ var path = @"c:\sourceGit\speciesLatLon.txt"; var inputLines = File.ReadAllLi ...

  10. mysql脚本转h2

    注意事项:转的时候需要 脚本中不能包含utf8mb4格式