Java 语言中Object 类和System 类详解


Posted in Java/Android onJuly 07, 2021

Object是java所有类的基类,是整个类继承结构的顶端,也是最抽象的一个类。大家天天都在使用toString()、equals()、hashCode()、waite()、notify()、getClass()等方法,或许都没有意识到是Object的方法,也没有去看Object还有哪些方法以及思考为什么这些方法要放到Object中。

一、Java Object类简介-所有类的超类

Object 是 Java 类库中的一个特殊类,也是所有类的父类。也就是说,J ava 允许把任何类型的对象赋给 Object 类型的变量 。当一个类被定义后,如果没有指定继承的父类,那么默认父类就是 Object 类。因此,以下两个类表示的含义是一样的。

public class MyClass{…}
等价于
public class MyClass extends Object {…}

1.1、常用方法

由于 Java 所有的类都是 Object 类的子类,所以任何 Java 对象都可以调用 Object 类的方法。常见的方法:

Object clone() 创建与该对象的类相同的新对象
boolean equals(Object) 比较两对象是否相等
void finalize() 当垃圾回收器确定不存在对该对象的更多引用时,对象垃圾回收器调用该方法
Class getClass() 返回一个对象运行时的实例类
int hashCode() 返回该对象的散列码值
void notify() 激活等待在该对象的监视器上的一个线程
void notifyAll() 激活等待在该对象的监视器上的全部线程
String toString() 返回该对象的字符串表示
void wait() 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待

二、Java System类详解

System 类位于 java.lang 包,代表当前 Java 程序的运行平台,系统级的很多属性和控制方法都放置在该类的内部。由于该类的构造方法是 private 的,所以无法创建该类的对象,也就是无法实例化该类。

System 类提供了一些类变量和类方法,允许直接通过 System 类来调用这些类变量和类方法。

System 类有 3 个静态成员变量,分别是 PrintStream out、InputStream in 和 PrintStream err。

2.1、PrintStream out 标准输出流

此流已打开并准备接收输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。

例如,编写一行输出数据的典型方式是:

System.out.println(data);

其中,println 方法是属于流类 PrintStream 的方法,而不是 System 中的方法。

2.2、InputStream in 标准输入流

此流已打开并准备提供输入数据。通常,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源。

2.3、PrintStream err 标准的错误输出流

其语法与 System.out 类似,不需要提供参数就可输出错误信息。也可以用来输出用户指定的其他信息,包括变量的值。

到此这篇关于Java 语言中Object 类和System 类详解的文章就介绍到这了,更多相关Java 语言Object 类和System 类内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Java/Android 相关文章推荐
源码解读Spring-Integration执行过程
Jun 11 Java/Android
在Java中Collection的一些常用方法总结
Jun 13 Java/Android
新手入门Jvm-- JVM对象创建与内存分配机制
Jun 18 Java/Android
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
Jun 21 Java/Android
JavaWeb 入门:Hello Servlet
Jul 16 Java/Android
java设计模式--原型模式详解
Jul 21 Java/Android
JVM钩子函数的使用场景详解
Aug 23 Java/Android
JVM的类加载器和双亲委派模式你了解吗
Mar 13 Java/Android
Java实现二分搜索树的示例代码
Mar 17 Java/Android
使用Java去实现超市会员管理系统
Mar 18 Java/Android
mapstruct的用法之qualifiedByName示例详解
Apr 06 Java/Android
Java版 简易五子棋小游戏
May 04 Java/Android
新手初学Java List 接口
Jul 07 #Java/Android
Spring Boot 整合 Apache Dubbo的示例代码
Jul 04 #Java/Android
Java实现聊天机器人完善版
JavaGUI模仿QQ聊天功能完整版
JavaWeb Servlet实现网页登录功能
swagger如何返回map字段注释
Springboot配置suffix指定mvc视图的后缀方法
You might like
PHP检测用户语言的方法
2015/06/15 PHP
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
jquery 表格排序、实时搜索表格内容(附图)
2014/05/19 Javascript
JQuery中使用ajax传输超大数据的解决方法
2014/07/14 Javascript
原生javascript实现图片弹窗交互效果
2015/01/12 Javascript
JS集成fckeditor及判断内容是否为空的方法
2016/05/27 Javascript
Bootstrap安装环境配置教程分享
2016/05/27 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
2018/04/07 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
json数据格式常见操作示例
2019/06/13 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
JS字符串和数组如何实现相互转化
2020/07/02 Javascript
[04:42]2015国际邀请赛CDEC战队晋级之路
2015/08/13 DOTA
[50:05]VGJ.S vs OG 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python爬取Coursera课程资源的详细过程
2014/11/04 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
Python collections.deque双边队列原理详解
2020/10/05 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
美国照明、家居装饰和家具购物网站:Bellacor
2017/09/20 全球购物
中国双语服务优势的在线购票及活动平台:247tickets
2018/10/26 全球购物
For Art’s Sake官网:手工制作的奢华眼镜
2018/12/15 全球购物
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
int和Integer有什么区别
2013/05/25 面试题
学校火灾防控方案
2014/06/09 职场文书
机电专业求职信
2014/06/14 职场文书
2016年寒假社会实践活动心得体会
2015/10/09 职场文书
Python中使用subprocess库创建附加进程
2021/05/11 Python
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL