你真的懂System.out.println()吗?


简介

众所周知,Java语言是面向对象的,那如果让你用一行代码体现出来呢?

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

面向对象编程即创建了对象,然后对象调用方法。

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

 

分析

1、System源码分析,System是java.lang包的一个类

 

2、out源码分析

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

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

 

3、println()分析

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

 

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

 

总结就是,类调用对象,对象调用方法

 

拓展

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

public class Test {

    public static void main(String[] args) {
        // 不换行
        System.out.print("a");
        System.out.print("b");

        // 换行
        System.out.println("c");
        System.out.println("d");
    }

}

 

 

2、字符数组输出

public class Test {

    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);
    }

}

 

 

这是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的形式。

 

本文部分参考链接:今日头条【阿博的Java栈】https://www.toutiao.com/i6817721442277261835

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM