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生成License的实现示例
Jun 16 Java/Android
ConstraintValidator类如何实现自定义注解校验前端传参
Jun 18 Java/Android
浅谈sql_@SelectProvider及使用注意说明
Aug 04 Java/Android
SpringDataJPA实体类关系映射配置方式
Dec 06 Java/Android
Spring事务管理下synchronized锁失效问题的解决方法
Mar 31 Java/Android
Android自定义ScrollView实现阻尼回弹
Apr 01 Java/Android
Elasticsearch Recovery 详细介绍
Apr 19 Java/Android
Android开发实现极为简单的QQ登录页面
Apr 24 Java/Android
Java 多态分析
Apr 26 Java/Android
Android Studio 计算器开发
May 20 Java/Android
Java Spring Boot请求方式与请求映射过程分析
Jun 25 Java/Android
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
Jul 07 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调用shell的方法
2014/11/05 PHP
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
2017/03/24 PHP
PHP实现类似于C语言的文件读取及解析功能
2017/09/01 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
网站被恶意镜像怎么办 php一段代码轻松搞定(全面版)
2018/10/23 PHP
使用laravel根据用户类型来显示或隐藏字段
2019/10/17 PHP
利用onresize使得div可以随着屏幕大小而自适应的代码
2010/01/15 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
2014/01/02 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
jquery中表单 多选框的一种巧妙写法
2015/09/06 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
2017/02/19 Javascript
微信小程序实现图片上传、删除和预览功能的方法
2017/12/18 Javascript
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
JS实现倒序输出的几种常用方法示例
2019/04/13 Javascript
jsonp格式前端发送和后台接受写法的代码详解
2019/11/07 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
[49:17]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第三场 1月26日
2021/03/11 DOTA
Python中输出ASCII大文字、艺术字、字符字小技巧
2015/04/28 Python
Python中使用platform模块获取系统信息的用法教程
2016/07/08 Python
Python制作Windows系统服务
2017/03/25 Python
Python跨文件全局变量的实现方法示例
2017/12/10 Python
django自带的server 让外网主机访问方法
2018/05/14 Python
Python for循环搭配else常见问题解决
2020/02/11 Python
python分别打包出32位和64位应用程序
2020/02/18 Python
python tqdm库的使用
2020/11/30 Python
工程业务员岗位职责
2013/12/31 职场文书
美德好少年事迹材料
2014/01/19 职场文书
放飞梦想演讲稿600字
2014/08/26 职场文书
暑期培训班策划方案
2014/08/26 职场文书
2014年学前班工作总结
2014/12/08 职场文书
2015秋季幼儿园开学通知
2015/07/16 职场文书
MySQL 可扩展设计的基本原则
2021/05/14 MySQL
宫崎骏十大动画电影,宫崎骏好看的动画电影排名
2022/03/22 日漫