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 相关文章推荐
在Java中Collection的一些常用方法总结
Jun 13 Java/Android
详解JAVA中的OPTIONAL
Jun 14 Java/Android
IDEA使用SpringAssistant插件创建SpringCloud项目
Jun 23 Java/Android
Java基础之线程锁相关知识总结
Jun 30 Java/Android
Mybatis-plus在项目中的简单应用
Jul 01 Java/Android
java泛型通配符详解
Jul 25 Java/Android
MyBatis-Plus 批量插入数据的操作方法
Sep 25 Java/Android
MyBatis自定义SQL拦截器示例详解
Oct 24 Java/Android
java协程框架quasar和kotlin中的协程对比分析
Feb 24 Java/Android
Android Rxjava3 使用场景详解
Apr 07 Java/Android
Android自定义双向滑动控件
Apr 19 Java/Android
Spring Data JPA框架Repository自定义实现
Apr 28 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读取html并截取字符串的简单代码
2009/11/30 PHP
php checkdate、getdate等日期时间函数操作详解
2010/03/11 PHP
smarty内置函数foreach用法实例
2015/01/22 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
2019/10/08 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
用AJAX返回HTML片段中的JavaScript脚本
2010/01/04 Javascript
jQuery对象和DOM对象的相互转化实现代码
2010/03/02 Javascript
拉动滚动条加载数据的jquery代码
2012/05/03 Javascript
JavaScript学习笔记之定时器
2015/01/22 Javascript
javascript iframe跨域详解
2016/10/26 Javascript
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
2018/09/01 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
2019/02/02 Javascript
vue+php实现的微博留言功能示例
2019/03/16 Javascript
Nodejs中的require函数的具体使用方法
2019/04/02 NodeJs
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
原生js实现无缝轮播图效果
2021/01/28 Javascript
Python中字典的基本知识初步介绍
2015/05/21 Python
Anaconda下配置python+opencv+contribx的实例讲解
2018/08/06 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
2019/02/21 Python
局域网内python socket实现windows与linux间的消息传送
2019/04/19 Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
2019/04/29 Python
Python Django 添加首页尾页上一页下一页代码实例
2019/08/21 Python
HTML5印章绘制电子签章图片(中文英文椭圆章、中文英文椭圆印章)
2019/06/03 HTML / CSS
AmazeUI 模态窗口的实现代码
2020/08/18 HTML / CSS
说说在weblogic中开发消息Bean时的persistent与non-persisten的差别
2013/04/07 面试题
文员自我评价怎么写
2013/09/19 职场文书
建筑实习自我鉴定
2013/10/18 职场文书
计算机专业毕业生的自我评价
2013/11/18 职场文书
幼儿园中秋节活动方案2013
2014/01/29 职场文书
2014年大学生党课心得体会范文
2014/03/29 职场文书
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
英文产品推荐信
2015/03/27 职场文书
三方合作意向书范本
2015/05/09 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书