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 11 Java/Android
Spring boot应用启动后首次访问很慢的解决方案
Jun 23 Java/Android
一篇文章带你复习java知识点
Jun 28 Java/Android
浅谈自定义校验注解ConstraintValidator
Jun 30 Java/Android
详解Spring事件发布与监听机制
Jun 30 Java/Android
Java对文件的读写操作方法
Apr 29 Java/Android
java版 联机五子棋游戏
May 04 Java/Android
Java中Dijkstra(迪杰斯特拉)算法
May 20 Java/Android
详解Spring Bean的配置方式与实例化
Jun 10 Java/Android
Java完整实现记事本代码
Jun 16 Java/Android
使用Postman测试需要授权的接口问题
Jun 21 Java/Android
springboot创建的web项目整合Quartz框架的项目实践
Jun 21 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中如何使用Redis接管文件存储Session详解
2018/11/28 PHP
PDO::commit讲解
2019/01/27 PHP
laravel 解决多库下的DB::transaction()事务失效问题
2019/10/21 PHP
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
验证手机号码的JS方法分享
2013/09/10 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
2015/06/05 Javascript
JS制作手机端自适应缩放显示
2015/06/11 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
javascript回到顶部特效
2016/07/30 Javascript
Javascript使用SWFUpload进行多文件上传
2016/11/16 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
Webpack如何引入bootstrap的方法
2017/06/17 Javascript
微信小程序与php 实现微信支付的简单实例
2017/06/23 Javascript
详解Angular-cli生成组件修改css成less或sass的实例
2017/07/27 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
2019/01/16 Javascript
vue+webpack 更换主题N种方案优劣分析
2019/10/28 Javascript
js中apply和call的理解与使用方法
2019/11/27 Javascript
js实现登录时记住密码的方法分析
2020/04/05 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
vue图片裁剪插件vue-cropper使用方法详解
2020/12/16 Vue.js
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
Python爬取读者并制作成PDF
2015/03/10 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
Python 实现简单的客户端认证
2020/07/29 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
2014年终工作总结范本
2014/12/15 职场文书
停电放假通知
2015/04/14 职场文书
生日祝酒词大全
2015/08/10 职场文书
中学总务处工作总结
2015/08/12 职场文书
军训心得体会范文(2016最新篇)
2016/01/11 职场文书
python 判断字符串当中是否包含字符(str.contain)
2022/06/01 Python