问题:在程序中调用System.out.println()嫌太长,想封装System.out.println()函数成为类Print的一个静态方法print,简化以后的调用。
package TinkingJava;
import java.io.PrintStream;
//基本实现了了各种情况下的输出需求
public class Print {
//正常带回车的输出
public static void print(Object obj){
System.out.println(obj);
}
//输出换行符
public static void printbr(){
System.out.println();
}
//不带换行输出
public static void printNobr(Object obj){
System.out.print(obj);
}
//格式化输出,类似c语言的printf
public static PrintStream printf(String format,Object... obj){
return System.out.printf(format,obj);
}
}
package TinkingJava;
/*通过下面的import语句引入Print类下的static方法,程序中就可以直接使用Print中的静态方法了
* Print类作为一个工具类实现了一些静态方法简化程序员对System.out.println()等方法的调用
*/
import static TinkingJava.Print.*;
public class CleanSer {
private String s="Cleanser";
static private int a=12;
static private float b=12.99f;
public void append(String a){
s+=a;
}
public void dilute(){
append(" dilute()");
}
public void scrub(){
append(" scrub()");
}
//重写了CleanSer对象的toString方法
public String toString(){
return s;
}
public static void main(String[] args) {
CleanSer cl=new CleanSer();
cl.dilute();
cl.scrub();
print(cl);//直接可以调用了,都不用再写类名
printf("类似C语言的printf函数:a=%d,a=%1$c,b=%f",a,b);// "X$"表示第几个变量
}
}
/*输出
Cleanser2 dilute() scrub()
类似C语言的printf函数:a=97,a=a,b=12.990000
*/