1.构造方法
构造方法主要作用是帮助新创建的对象赋初始值。
定义方式:class 类名称{
访问权限 类名称(类型1 参数1,类型2 参数2......){
程序语句;
....... //构造方法没有返回值
}
}
注意:1.它具有与类名相同的名称 2.它没有返回值
调用机制:构造方法在创建对象是自动调用,并执行构造方法内容(构造方法无需在程序中调用,在对象生成是自动执行)
public class c { public c(){ System.out.println("sea"); } public static void main(String[] args) { c a=new c(); } }
2.构造方法的重载
只要构造方法的参数个数不同或类型不同,就可以定义多个名称相同的构造方法。
public class c { private int age; private String name; public c(int a,String n){ age=a; name=n; System.out.println("sea"); } public String show(){ return "我叫"+name+",年龄"+age; } public static void main(String[] args) { c a=new c(18,"jeep"); System.out.println(a.show()); } }
3.对象的比较
内存地址比较:==
内容比较:equals()
public class equal { //“==”比较对象储存的物理位置 public static void main(String[] args) { String a=new String("aaa"); String b=new String("aaa"); String c=b; if(a==b){ System.out.println("a==b"); }else{ System.out.println("a!==b");//输出 } if(b==c){ System.out.println("b==c");//输出b==c }else{ System.out.println("b!==c"); } if(a==c){ System.out.println("a==c"); }else{ System.out.println("a!==c");//输出
} } }
public class equal { //“equals”比较对象的内容 public static void main(String[] args) { String a=new String("aaa"); String b=new String("aaa"); String c=b; if(a.equals(b)){ System.out.println("a==b");//输出 }else{ System.out.println("a!==b"); } if(b.equals(c)){ System.out.println("b==c");//输出 }else{ System.out.println("b!==c"); } if(a.equals(c)){ System.out.println("a==c");//输出 }else{ System.out.println("a!==c"); } } }
4.this关键字的使用
(1)this表示当前对象,即指调用类中方法或类中属性的那个对象
public class this1 { private int age; private String name; public this1(int a,String n){ age=a;//this.age=a; name=n;//this.name=n; } }
(2)用this调用构造方法
public class this1 { int age; String name; public this1(){ System.out.println("lady1"); } public this1(int a,String n){ this();//调用无参数的构造方法 this.age=a; this.name=n; System.out.println("******"); } }
public class this11 { public static void main(String[] args) { new this1();//没有参数,调用没有参数的构造方法 new this1(11,"lady");//有参数调用有参数的构造方法 } }
时间: 2024-10-24 06:15:12