1. 程式人生 > >this應用總結

this應用總結

構造方法 void int 構造 兩個 main person bsp hang

1、使用this調用本類中的屬性

 1 class Person{
 2     private String name;
 3     private int age;
 4     public Person(String name,int age){
 5         this.name = name;
 6         this.age = age;
 7     }
 8     public String getInfo(){
 9         return name + ";;;;" + age;
10     }
11 }
12 
13 public class ThisDemo02 {
14 public static void main(String[] args) { 15 Person per1 = new Person("zhangsan", 30); 16 System.out.println(per1.getInfo()); 17 } 18 19 }

輸出結果為:zhangsan;;;;30

2、使用this調用構造方法

  如果一個類中有多個構造方法,也可以利用this關鍵字互相調用;

  註意:構造方法是在實例化對象時被自動調用的,也就是說在類中的所有方法中,只有構造方法是被優先調用的,所以使用this調用構造方法必須也只有放在構造方法的第一行。

 1 class Person{
 2     private String name;
 3     private int age;
 4     public Person(){
 5         System.out.println("一個新的Person對象被實例化。");
 6     }
 7     public Person(String name,int age){
 8         this();
 9         this.name = name;
10         this.age = age;
11     }
12     public String getInfo(){
13 return name + ";;;;" + age; 14 } 15 } 16 17 public class ThisDemo02 { 18 public static void main(String[] args) { 19 Person per1 = new Person("zhangsan", 30); 20 System.out.println(per1.getInfo()); 21 } 22 }

輸出結果為:

一個新的Person對象被實例化。
zhangsan;;;;30

3、this表示當前對象

 1 class Person{
 2     public String getInfo(){
 3         System.out.println("Person類" + this);
 4         return null;
 5     }
 6 }
 7 
 8 public class ThisDemo02 {
 9     public static void main(String[] args) {
10         Person per1 = new Person();
11         Person per2 = new Person();
12         System.out.println("main方法" + per1);
13         per1.getInfo();
14         System.out.println("....................." );
15         System.out.println("main方法" + per2);
16         per2.getInfo();
17     }
18 }

輸出結果為:

[email protected]
[email protected]
.....................
[email protected]
[email protected]

4、判斷對象是否相等

  方法一、

 1 class Person{
 2     private String name;
 3     private int age;
 4     public  Person(String name,int age){
 5         this.setName(name);
 6         this.setAge(age);
 7     }
 8     public String getName() {
 9         return name;
10     }
11     public void setName(String name) {
12         this.name = name;
13     }
14     public int getAge() {
15         return age;
16     }
17     public void setAge(int age) {
18         this.age = age;
19     }
20     
21 }
22 
23 public class ThisDemo02 {
24     public static void main(String[] args) {
25         Person per1 = new Person("zhangsan",30);
26         Person per2 = new Person("zhangsan",30);
27         if(per1.getName().equals(per2.getName()) && per2.getAge() == per2.getAge()){
28             System.out.println("兩個對象相等");
29         }else{
30             System.out.println("兩個對象不相等");
31         }    
32     }
33 }

輸出結果為:兩個對象相等

this應用總結