1.toString()方法
- 在java中,所有对象都有toString()这个方法
- 创建类时没有定义toString方法输出对象时会输出哈希码值
- 它通常只是为了方便输出,比System.out.println(xx),括号里面的"xx"如果不是String类型的话,就自动调用xx的toString()方法
- 它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法
class Dog{
String name;
int age;
//类里默认有toString方法,如果未定义输出哈希码值,也可以进行重写
public String toString(){
return "我的姓名:"+name+"我的年龄:"+age;
}
}
public class Test1{
public static void main(String[] args){
String name=new String("小明");//String也是一个类
System.out.println(name);//对象也可以输出,是因为默认调用了toString(),name.toString()
Dog d=new Dog();
System.out.println(d);//所有对象都有toString方法, }
}
2.this关键字
- 在类的方法定义中使用this关键字代表使用该方法的对象的引用。
- 有时使用this可以处理方法中成员变量和参数重名的问题
- this可以看做一个变量,他的值是当前对象的引用
class Dog{
String name;//成员变量
int age;
String color;
public void set(String name,int age,String color){
this.name=name;//this.name,这个name为成员变量
this.age=age;
this.color=color;
}
public String toString(){
return "我的姓名:"+this.name+"我的年龄:"+this.age+"我的颜色:"+this.color;
}
public Dog value(){
return this;//可以看做一个变量,他的值是当前对象的引用
}
}
public class Test1{
public static void main(String[] args){
Dog one=new Dog();
Dog two=new Dog();
Dog three=new Dog();
one.set("第一只狗",5,"黑色");
two.set("第二只狗",6,"白色");
System.out.println(one);
System.out.println(two);
three=two.value();
System.out.println(three); }
}