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 Optional<Foo>转换成List<Bar>的实例方法
Jun 20 Java/Android
详解Java实现数据结构之并查集
Jun 23 Java/Android
分析JVM源码之Thread.interrupt系统级别线程打断
Jun 29 Java/Android
SpringBoot快速入门详解
Jul 21 Java/Android
Java面试题冲刺第十九天--数据库(4)
Aug 07 Java/Android
使用Spring处理x-www-form-urlencoded方式
Nov 02 Java/Android
InterProcessMutex实现zookeeper分布式锁原理
Mar 21 Java/Android
Android自定义scrollview实现回弹效果
Apr 01 Java/Android
零基础学java之方法的定义与调用详解
Apr 10 Java/Android
java中为什么说子类的构造方法默认访问的是父类的无参构造方法
Apr 13 Java/Android
Android开发之底部导航栏的快速实现
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
无线电广播的开始
2002/01/30 无线电
PHP开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
destoon官方标签大全
2014/06/20 PHP
几个实用的PHP内置函数使用指南
2014/11/27 PHP
递归实现php数组转xml的代码分享
2015/05/14 PHP
php好代码风格的阶段性总结
2016/06/25 PHP
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
JS函数实现动态添加CSS样式表文件
2012/12/15 Javascript
javaScript NameSpace 简单说明介绍
2013/07/18 Javascript
jQuery实现点击弹出背景变暗遮罩效果实例代码
2016/06/24 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
vue组件如何被其他项目引用
2017/04/13 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
vue之数据交互实例代码
2017/06/16 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
2017/06/22 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
详解React之父子组件传递和其它一些要点
2018/06/25 Javascript
js动态设置select下拉菜单的默认选中项实例
2018/08/21 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
2018/11/27 Javascript
Vue一次性简洁明了引入所有公共组件的方法
2018/11/28 Javascript
解决VUE项目使用Element-ui 下拉组件的验证失效问题
2020/11/07 Javascript
Python多线程下载文件的方法
2015/07/10 Python
python字符串string的内置方法实例详解
2018/05/14 Python
Win10下python 2.7.13 安装配置方法图文教程
2018/09/18 Python
python实现一个简单的ping工具方法
2019/01/31 Python
python使用opencv resize图像不进行插值的操作
2020/07/05 Python
美国殿堂级滑板、冲浪、滑雪服装品牌:Volcom(钻石)
2017/04/20 全球购物
NFL墨西哥官方商店:Tienda NFL
2017/11/28 全球购物
甜品蛋糕店创业计划书范文
2014/02/06 职场文书
企业新年寄语
2014/04/04 职场文书
试用期辞职信范文
2015/03/02 职场文书
搞笑结婚保证书
2015/05/08 职场文书
护士心得体会范文
2016/01/25 职场文书
餐厅营销的秘密:为什么老顾客会流水?
2019/08/08 职场文书
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js