this应用总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了this应用总结相关的知识,希望对你有一定的参考价值。

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 }

输出结果为:

main方法[email protected]
Person类[email protected]
.....................
main方法[email protected]
Person类[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应用总结的主要内容,如果未能解决你的问题,请参考以下文章

BootStrap实用代码片段(持续总结)

很实用的JQuery代码片段(转)

laravel特殊功能代码片段集合

vue2.0 代码功能片段

11.按要求编写Java应用程序。 创建一个叫做机动车的类: 属性:车牌号(String),车速(int),载重量(double) 功能:加速(车速自增)减速(车速自减)修改车牌号,查询车的(代码片段

在 webview_flutter 中启用捏合和缩放,在哪里添加代码片段 [this.webView.getSettings().setBuiltInZoomControls(true);]