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利用redis、Redisson处理并发问题的操作
Jun 18 Java/Android
Java框架入门之简单介绍SpringBoot框架
Jun 18 Java/Android
ObjectMapper 如何忽略字段大小写
Jun 29 Java/Android
Sleuth+logback 设置traceid 及自定义信息方式
Jul 26 Java/Android
使用logback实现按自己的需求打印日志到自定义的文件里
Aug 30 Java/Android
logback 实现给变量指定默认值
Aug 30 Java/Android
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
Sep 25 Java/Android
Java实现二分搜索树的示例代码
Mar 17 Java/Android
JavaWeb实现显示mysql数据库数据
Mar 19 Java/Android
Java 超详细讲解IO操作字节流与字符流
Mar 25 Java/Android
Android超详细讲解组件ScrollView的使用
Mar 31 Java/Android
openGauss数据库JDBC环境连接配置的详细过程(Eclipse)
Jun 01 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把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
php使用memcoder将视频转成mp4格式的方法
2015/03/12 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
[原创]js获取数组任意个不重复的随机数组元素
2010/03/15 Javascript
js判断IE6/IE7/FF的代码[XMLHttpRequest]
2011/02/16 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
解释&&和||在javascript中的另类用法
2014/07/28 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
2014/10/07 Javascript
JavaScript页面模板库handlebars的简单用法
2015/03/02 Javascript
JS根据生日算年龄的方法
2015/05/05 Javascript
Labelauty?jQuery单选框/复选框美化插件分享
2015/09/26 Javascript
原生 JS Ajax,GET和POST 请求实例代码
2016/06/08 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
vue中如何引入jQuery和Bootstrap
2017/04/10 jQuery
BootStrap表单控件之文本域textarea
2017/05/23 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
基于datepicker定义自己的angular时间组件的示例
2018/03/14 Javascript
vue中监听返回键问题
2019/08/28 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
vue+elementUI组件table实现前端分页功能
2020/11/15 Javascript
mpvue 项目初始化及实现授权登录的实现方法
2020/07/20 Javascript
关于angular 8.1使用过程中的一些记录
2020/11/25 Javascript
python进阶教程之循环对象
2014/08/30 Python
python3 pillow模块实现简单验证码
2019/10/31 Python
浅析python redis的连接及相关操作
2019/11/07 Python
python实现按关键字筛选日志文件
2019/12/24 Python
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
2012/12/10 HTML / CSS
HTML5标签与HTML4标签的区别示例介绍
2013/07/18 HTML / CSS
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
日本快乐生活方式购物网站:Shop Japan
2018/07/17 全球购物
公务员职务工作的自我评价
2013/11/01 职场文书
网络编辑岗位职责范本
2014/02/10 职场文书
学习三严三实对照检查材料思想汇报
2014/09/22 职场文书
2015年党员自评材料
2014/12/17 职场文书
学校2015年纠风工作总结
2015/05/15 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书