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 相关文章推荐
详解SpringBoot异常处理流程及原理
Jun 21 Java/Android
详解Java分布式事务的 6 种解决方案
Jun 26 Java/Android
实体类或对象序列化时,忽略为空属性的操作
Jun 30 Java/Android
Java 语言中Object 类和System 类详解
Jul 07 Java/Android
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
Jul 16 Java/Android
java设计模式--七大原则详解
Jul 21 Java/Android
java泛型通配符详解
Jul 25 Java/Android
SpringBoot实现quartz定时任务可视化管理功能
Aug 30 Java/Android
mybatis源码解读之executor包语句处理功能
Feb 15 Java/Android
Android在Sqlite3中的应用及多线程使用数据库的建议
Apr 24 Java/Android
Android studio 简单计算器的编写
May 20 Java/Android
JavaScript正则表达式实现注册信息校验功能
May 30 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函数之子字符串替换 str_replace
2011/03/23 PHP
php中文验证码实现示例分享
2014/01/12 PHP
phpmyadmin中禁止外网使用的方法
2014/11/04 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
Laravel解决nesting level错误和隐藏index.php的问题
2019/10/12 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
javascript对select标签的控制(option选项/select)
2013/01/31 Javascript
JS复制到剪贴板示例代码
2013/10/30 Javascript
angularjs中的e2e测试实例
2014/12/06 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
jQuery Ajax请求后台数据并在前台接收
2016/12/10 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
2017/06/13 Javascript
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
2018/02/06 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
回顾Javascript React基础
2019/06/15 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
vue实现点击按钮切换背景颜色的示例代码
2020/06/23 Javascript
玩转python爬虫之正则表达式
2016/02/17 Python
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
浅谈Python实现2种文件复制的方法
2018/01/19 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
Opencv求取连通区域重心实例
2020/06/04 Python
HTML5 File接口在web页面上使用文件下载
2017/02/27 HTML / CSS
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
销售行业个人求职自荐信
2013/09/25 职场文书
成教自我鉴定
2013/10/27 职场文书
国际商务系学生个人的自我评价
2013/11/26 职场文书
领导检查欢迎词
2014/01/14 职场文书
大学生通用个人的自我评价
2014/02/10 职场文书
财务部副经理岗位职责
2014/03/14 职场文书
感恩老师演讲稿600字
2014/08/28 职场文书