zoukankan      html  css  js  c++  java
  • 说说你对System.out.println()的理解

    学了这么久的面向对象编程,那如何用一行代码体现呢? System.out.println()!!!
    面向对象编程即创建了对象,所有的事情让对象去做。

    一、System.out.println()的解析

    (1)首先分析System源码

    (2)out源码分析

    ①out是System里面的一个静态数据成员,而且这个成员是java.io.PrintStream类的引用;
    ②out已经存在了且用Static修饰了,所以可以直接使用类名.属性名的方式调用,即System.out。

    (3)println源码分析

    ①println()就是java.io.PrintStream类里的一个方法,它的作用是向控制台输出信息。
    ②里面有很多重载的方法,这样就保证了任意的东西都可以输出。

    因此总结一下就是:类调用对象,对象调用方法。


    二、常见面试题

    1、System.out.print();与System.out.println(); 的区别:一个换行一个不换行。

    2、字符数组输出面试案例

    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@433c675d
    

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

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

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

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

  • 相关阅读:
    An intriguing failing of convolutional neural networks and the CoordConv solution
    Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization
    Win10下用Anaconda安装TensorFlow
    批处理框架
    智能分单算法
    海量数据处理利器greenplum——初识
    使用R画地图数据
    跟我一起ggplot2(1)
    一文搞懂HMM(隐马尔可夫模型)
    借助亚马逊S3和RapidMiner将机器学习应用到文本挖掘
  • 原文地址:https://www.cnblogs.com/jasonboren/p/13793983.html
Copyright © 2011-2022 走看看