关于java:头铁面试官一个小小的-Systemoutprintln-硬是考了我半个小时被问懵了

2次阅读

共计 1249 个字符,预计需要花费 4 分钟才能阅读完成。

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

去年秋招面试我被问及:

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

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

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

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

System.out.println("hello world");
hello world

Process finished with exit code 0

首先剖析 System 源码:

System 就是 Java 自定义的一个类

这也是 IO 方面的面试题,如果你近期筹备面试跳槽,倡议在 Java 面试库小程序在线刷题,简直笼罩了所有支流技术面试题。

out 源码剖析

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

②out 曾经存在了且用 Static 润饰了,所以能够间接应用类名 + 属性名的形式调用,也就是System.out

println 剖析

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

②外面有很多重载的办法,这样就保障了任意的货色都能够输入

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

拓展知识点 :

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);
    }
}
xy
ch1=[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 的模式。

近期热文举荐:

1.1,000+ 道 Java 面试题及答案整顿(2022 最新版)

2. 劲爆!Java 协程要来了。。。

3.Spring Boot 2.x 教程,太全了!

4. 别再写满屏的爆爆爆炸类了,试试装璜器模式,这才是优雅的形式!!

5.《Java 开发手册(嵩山版)》最新公布,速速下载!

感觉不错,别忘了顺手点赞 + 转发哦!

正文完
 0