一、包

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. C#中获取文件信息的代码

    如下的内容内容是关于C#中获取文件信息的内容,应该对大伙有一些好处. FileInfo fi = new FileInfo(@"C:file.txt"); if(fi.Exists ...

  2. js实现输入某串数字,构建完全二叉树,并判断是否为二叉搜索树

    思路:若为二叉搜索树,则中序遍历为递增的 let arr = [15,8,16,6,10];let pindex = [];function Node(){ this.root = null; thi ...

  3. flutter 入口文件配置路由+加载页面

    入口文件配置路由 1.路由信息 -- 加载页面 ,通常用于显示新的内容或者广告,加载完成之后进入主页面 -- 主页面 /app 2.配置页面  main.dart main.dart // main ...

  4. n2n网络穿透内网

    目录 前言 配置 网络拓扑: 公网服务器的配置 公司电脑的配置 家里笔记本的配置 注意事项 使用n2n网络 n2n的各edge之间传输数据 补充:NAT类型 后记 前言 在家里的时候比较经常需要对公司 ...

  5. JAVA学习记录(一)————JAVA中的集合类

    这个图是总体的框架图,主要是两个接口Collection和Map都继承接口Iterator(Iterable),为了实现可以使用迭代器.Collection和Map类似平级关系. 1.这里我先学习下A ...

  6. 树——B-树

    B树的定义: 1.若根结点不是终端结点,则至少有2棵子树 2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m 3.每一个叶子节点都包含k-1个元素,其中 m/2 ...

  7. python 网站 监控返回值

    import requests try: code = requests.get("https://api.sudaizhijia.cm/").status_code print( ...

  8. Python环境下的Sublime Text3无法使用input()函数

    在Sublime Text3中写好Python程序,按Ctrl+B运行程序,在控制台中输入内容,回车,程序没有响应.最后求助网络,找到了解决办法. 一.安装插件SublimeREPL 按Ctrl+Sh ...

  9. 路由对象route

    路由对象是不可变 (immutable) 的,每次成功的导航后都会产生一个新的对象.不过你可以 watch (监测变化) 它. 通过 this.$route 访问当前路由,还可以通过router.ma ...

  10. 魔力Python--斐波那契数列(全)

    1. 斐波那契数列应用广泛,对此数列的更好理解有助于我们算法的更进一步,并降低程序的时间复杂度,提高运行效率. 2. 斐波那契数列的应用(4种): 2.1 排列组合----经典例子:爬楼梯 " ...