Java 的输出知识
1.System.out.println()不能直接写在类中,例如:
因为在 Class A{
//成员变量
//构造方法
//普通方法
//内部类
}
如果硬是想使用System.out.println("我想输出!"),可以加上一个大括号,让他成为普通块,所谓的普通块就是将普通方法去掉前面的声明,本身也是属于普通方法。
即:
2.println输出问题
char[] ch=new char[]{‘a’,'b','c'}; System.out.println(ch);
char[] ch=new char[]{‘a’,'b','c'}; System.out.println("ch="+ch);
这是println()方法的重载,java打印输出System.out.println会自动调用输入参数的toString方法,输出内容时toString方法的返回值。println的参数分基本类型,一个是String 另一个是Object类型。
System.out.println(ch) println()自动调用println(char[] ) 也就是Object类型 所以输出‘a’ 'b' 'c'
然而System.out.println("ch="+ch) "+"是字符串连接符,自动调用println(String ),也就是String类型 输出的是xxx@xxxx的形式。
详细理解 逐步进入之后,发现调用toString() ,我们可以进行重写。
出自: https://www.cnblogs.com/jllj/p/6368175.html
补充:因为直接输出一个类的对象的时候,会调用这个类的toString()方法,这个方法有些类是覆盖了的,比如String,Integer。
你自己写的类没有覆盖这个方法的话就是继承Object类的这个方法,Object中toString()方法的实现是这样的
getClass().getName() + "@" + Integer.toHexString(hashCode())
后面跟的是这个类的哈希码,如果你希望这个类打印出来输出你希望的格式,你就要覆盖这个、toString方法。