查看原文
其他

面试官:你如何理解 System.out.println()?

点击关注 👉 Java架构师技术 2023-09-18
以下文章来源Java架构师技术,回复”Spring“获惊喜礼包
上一篇推文:API 接口应该如何设计?如何保证安全?如何签名?如何防重?

大家好,我是Java架构师

去年秋招面试我被问及:

你如何理解 System.out.println()?

学了这么久的面向对象编程,那如何用一行代码体现呢?

如果你能自己读懂System.out.println(),就真正了解了Java面向对象编程的含义。

面向对象编程即创建了对象,所有的事情让对象帮亲力亲为(即对象调用方法)

System.out.println("hello world");hello worldProcess finished with exit code 0

首先分析System源码:

System就是Java自定义的一个类

out源码分析

①out是System里面的一个静态数据成员,而且这个成员是java.io.PrintStream类的引用

②out已经存在了且用Static修饰了,所以可以直接使用类名+属性名的方式调用,也就是System.out

println分析

println()就是java.io.PrintStream类里的一个方法,它的作用是向控制台输出信息。


②里面有很多重载的方法,这样就保证了任意的东西都可以输出

牛逼啊!接私活必备的 N 个开源项目!赶快收藏

小结下来就是:类调用对象,对象调用方法

拓展知识点 :

1.System.out.print();与System.out.println();的区别

2.字符数组输出面试案例
public class Demo {    public static void main(String[] args) {        char[] ch=new char[]{'x','y'};        System.out.println(ch);        char[] ch1=new char[]{'x','y'};        System.out.println("ch1="+ch1);    }}xych1=[C@74a14482

这是println()方法的重载,java打印输出System.out.println会自动调用输入参数的toString方法,输出内容时toString方法的返回值。

println的参数分基本类型,一个是String 另一个是Object类型。

System.out.println(ch)println()自动调用println(char[]) 也就是Object类型 所以输出xy

然而System.out.println(“ch=”+ch) "+"是字符串连接符,自动调用println(String),也就是String类型 输出的是xxx@xxxx的形式。


欢迎有需要的同学试试,如果本文对您有帮助,也请帮忙点个 赞 + 在看 啦!❤️

在 GitHub猿 还有更多优质项目系统学习资源,欢迎分享给其他同学吧!

最后,整理了400多套项目,赠送读者。扫码下方二维码,后台回复赚钱即可获取。

--END--

来源:cnblogs.com/blessing2022/p/16622118.html

版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!

往期惊喜:

何谓架构?

一个很酷的后台权限管理系统

一个很酷的博客系统

一个很酷的快速开发代码生成器系统

看看人家那 IM 即时通讯系统,那叫一个优雅(附源码)

Ngnix IP封禁以及实现自动封禁 IP !

轻量级工业物联网开源平台,快速部署私有化平台千万级承载!

Redis和MySQL如何保持数据一致性?

聊聊负载均衡 LVS vs Nginx 对比!

Vite + Vue3 + NaiveUI + TypeScript的漂亮清新的中后台管理系统!

九种分布式ID解决方案,总有一款适合你!

SELECT COUNT(*) 会造成全表扫描?回去等通知吧!

OA协同办公系统,自带低代码开发平台,可快速搭建CRM、项目管理等功能!


扫码关注我们的Java架构师技术

带你全面深入Java

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存