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应用总结的主要内容,如果未能解决你的问题,请参考以下文章
11.按要求编写Java应用程序。 创建一个叫做机动车的类: 属性:车牌号(String),车速(int),载重量(double) 功能:加速(车速自增)减速(车速自减)修改车牌号,查询车的(代码片段
在 webview_flutter 中启用捏合和缩放,在哪里添加代码片段 [this.webView.getSettings().setBuiltInZoomControls(true);]