1 package com.lv.study.pm;
2
3 public class TestObject {
4
5 public static void main(String[] args) {
6
7 // Object obj;
8 // obj=10;
9 //
10 // int number=(int) obj;
11 //
12 // System.out.println(obj);
13 // System.out.println(number);
14
15
16 test1(new Integer(20));
17 test1('a');
18 test1("abc");
19 test1(new Person());
20 }
21
22 //我们object作为形参,但是我们大家一定要在必要的场景才使用这种
23 //因为我们这样用的话,对于参数的处理非常麻烦
24 public static void test1(Object obj){
25
26 //obj的参数囊括了我们java里面的所有对象
27 //你只能进行通用的操作
28 Integer it =(Integer) obj;
29
30 System.out.println(obj);
31 }
32
33 //object 作为返回值 可以返回任意的值
34 //也是要在特定的场景下 不然处理返回值也特别的麻烦
35 public static Object test2(int number){
36
37 if(number%5==0){
38 return 333;
39 }else if(number%5==2){
40 return "abc";
41 }else if(number%5==6){
42 return new Object();
43 }else if(number%5==1){
44 return new Object(){};
45 }else{
46 return new Integer(20);
47 }
48 }
49 }

重写一下tostring equals方法

 1 package com.lv.study.pm;
2
3 public class TestObjectFunToString {
4
5 public static void main(String[] args) {
6
7 Object obj1=new Person();
8
9 int[] nums =new int[5];
10 String []strs=new String[5];
11
12 System.out.println(nums);
13 System.out.println(strs);
14
15 //结果一模一样
16 System.out.println(obj1.toString());
17 //打印的时候会默认调用,就是用来输出的
18 System.out.println(obj1);//对对象进行打印输出的时候会默认调用 to String 方法
19
20 //只不过 我们object 默认的tostring方法
21
22 //都是字符串
23 //1 当前这个对象的类全名
24 // 2 @ 符号
25 // 3 当前这个对象在堆里面的地址 进行hash以后的数字
26
27 }
28
29 }

hashcode算法

 1 package com.lv.study.pm;
2
3 public class TestObjectFunHashCode {
4
5 public static void main(String[] args) {
6
7 Object obj1=new Person();
8 Object obj2="abc";
9 Object objabc="abc";
10 Object obj3=200;
11 Object obj4=new Person();
12
13 //返回的就是一串整形的数字
14 System.out.println(obj1.hashCode());
15 System.out.println(obj2.hashCode());
16 System.out.println(objabc.hashCode());
17 System.out.println(obj3.hashCode());
18 System.out.println(obj4.hashCode());
19 //来判断两个物件是不是同一个
20
21 //什么是hash
22 //就是把一个物件 经过一系列的算法 得到一串整形的数字
23
24 //你把同一个物件 进行hash 一定得到的是同一串数字
25 //我们hash 只要有一个bit 不一致 得到的结果一定是和上一次不一样
26 //不能保证不同的物件 hash值一定不一样
27 }
28
29 }

Java常用类Object的更多相关文章

  1. Java常用类object详解

    1.Object概述: 类Object是类层次结构的根类.每个类都使用Object作为超类.所有对象(包括数组)都实现这个类的方法. 2.构造方法详细信息: Object只有一个无参构造方法,因为ob ...

  2. Java基础之Java常用类--Object类,字符串相关类,包装类,日期相关类,数字相关类

    Java是一种面向对象的语言,也就是将万事万物可以描述为对象,特点如下: 1.面向对象是常见的一种思考习惯,符合人们的思考习惯.2.面向对象的出现,将复杂的事情简单化.3.面向对象的出现,将之前过程中 ...

  3. java常用类 --- Object

    Object类 Object类是所有Java类的父类,其位于java.lang包中.任何Java对象,如果没有显示定义父类则它默认Object类作为父类. 方法如下: 其中与线程相关的有5个方法: n ...

  4. Java常用类-Object类

    一.java.lang.Object类 1.Object类是所有Java类的根父类 2.如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类 3.Obj ...

  5. java的eclipse操作和常用类Object的使用

    1.eclipse的快捷键: (1)alt + /   内容辅助. 如:main+alt + / 会出现完整的main方法. syso+alt+ / 会输出. 如编写某个方法时,只需写入方法名 + a ...

  6. Java基础 —— Java常用类

    Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@&quo ...

  7. Java常用类学习笔记总结

    Java常用类 java.lang.String类的使用 1.概述 String:字符串,使用一对""引起来表示. 1.String声明为final的,不可被继承 2.String ...

  8. Java常用类笔记(学习尚硅谷java基础教程)

    一.Java根类Object类1.toString()方法 1)以文本对象返回,故toString()的定义为public String toString() {} 2)默认的字符串输出是:包.类名@ ...

  9. Java常用类的使用

    Java常用类 1. Optional 在我们的开发中,NullPointerException可谓是随时随处可见,为了避免空指针异常,我们常常需要进行 一 些防御式的检查,所以在代码中常常可见if( ...

  10. Java常用类之要点总结

    Java常用类之要点总结

随机推荐

  1. mongodb 数据库操作——备份 还原 导出 导入

    mongodump备份数据库 命令格式 mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 如果没有用户,可以去掉-u和-p. 如果导出本机 ...

  2. Alice与Bob-整数分解问题脚本实现

    题目: 密码学历史中,有两位知名的杰出人物,Alice和Bob.他们的爱情经过置换和轮加密也难以混淆,即使是没有身份认证也可以知根知底.就像在数学王国中的素数一样,孤傲又热情.下面是一个大整数:985 ...

  3. linux服务器通过X11实现图形化界面显示 1 背景描述

    有些LINUX服务器出于性能和效率的考虑,通常都是没有安装图形化界面的,那么图形化程序在服务器上压根儿就跑不起来,或者无法直接显示出来,这就很尴尬了!那么如何解决这个问题呢?可以基于X11 Forwa ...

  4. ORB算法介绍 Introduction to ORB (Oriented FAST and Rotated BRIEF)

    Introduction to ORB (Oriented FAST and Rotated BRIEF) 1. Introduction ORB(Oriented FAST and Rotated ...

  5. [源码系列:手写spring] IOC第十一节:Aware接口

    内容介绍 Aware简洁 在Spring框架中,Aware接口是一个非常有用的工具,用于实现Bean与Spring容器及其他资源之间的集成.Aware接口是一个标记接口,其中定义了各种Aware子接口 ...

  6. SearXNG私有化部署与Dify集成

    一.概述 SearXNG 是一个免费的互联网元搜索引擎,它聚合了来自各种搜索服务和数据库的结果,但摆脱了隐私追踪 -- 用户行为既不会被引擎跟踪也不会被分析. 功能特性 自托管,可以私有化部署 没有用 ...

  7. Clion搭建C语言开发环境

    1.下载和安装MinGW 1)下载链接:http://www.mingw.org/ 2)选择安装目录,目录尽可能简单(如:D:\MinGW)且不要包含中文和空格 3)添加相关的包 所需的包如下:min ...

  8. 🎀SpringBoot项目打包jar 并打包为exe启动

    简介 将SpringBoot项目打包jar并打包为exe启动,在无jdk环境下直接运行. 操作 SpringBoot打包为可执行jar(这里使用maven install) 注:如果存在前端页面需同时 ...

  9. 探秘Transformer系列之(27)--- MQA & GQA

    探秘Transformer系列之(27)--- MQA & GQA 目录 探秘Transformer系列之(27)--- MQA & GQA 0x00 概述 0x01 MHA 1.1 ...

  10. Linux内核模块开发(简单)

    Linux系统为应用程序提供了功能强大且容易扩展的API,但在某些情况下,这还远远不够.与硬件交互或进行需要访问系统中特权信息的操作时,就需要一个内核模块. Linux内核模块是一段编译后的二进制代码 ...