1:直接上代码,就代码分析
package tianyi.demo;
/**
* @Title:${贾天一}
* @Description: [娱乐]
*/
public class demoi1 {
static int i = 1;//类中的静态变量,只加载一次,并且全部类共享
public static void main(String[] args) {
demoi1 c = new demoi1();
//System.out.println("love "+new demoi1());//如果对象定义在输出中,先执行对象的toString()方法
System.out.println("lova"+c);//全部类都继承Object类,创建对象,返回对象的toString()方法。
// System.out.println("helloworld!!!"+new demoi1());
demoi1 a = new demoi1();
// demoi1 b = new demoi1();
a.i++;
System.out.println("me "+a.i);
}
public String toString(){
System.out.print("I ");
// System.out.print("000");
return "java ";
}
/* public String toString(){
//System.out.print("I ");
// System.out.print("000");
//return "java ";
return "";
}
*/
}
2:输出结果
3:分析代码
其实在代码中已经分析啦!再细节说一下。
- 1:在类中定义的static静态变量或者静态代码块,在类中只加载一次,并且该类的所有对象共享这个变量,可以随意修改。
- 2:所有类都继承Object类,类中有个toString()方法,如果创建类时不重写,就是输出类的类名和16进制的哈希值。上面的类就是重写了toString()方法,输出自己定义的内容。在System.out.println()中会优先执行对象的加载。