this关键字的作用 使用this调用其他构造方法 使用this表示当前对象
来源:互联网 发布:施工软件哪个好 编辑:程序博客网 时间:2024/05/07 06:44
package yyy; //使用this调用本类中的成员变量和成员方法//使用this返回当前对象的引用 //1.可以使用this调用本类的构造方法 //没有使用this public class Testc{ public static void main(String[] args) { Person per=new Person(); System.out.println(per.getInfo()); }}class Person { private String name;// 定义name属性 private int age;// 定义age属性 public Person(){ System.out.println("新对象实例化"); } public Person(String name){ System.out.println("新对象实例化"); this.name=name; } public Person(String name,int age){ System.out.println("新对象实例化"); this.name=name; this.age=age; } public String getInfo() { return "姓名:" + this.name + ",年龄:" + this.age; }}//使用this 1、在使用this关键字调用其他构造方法的时候,this语句只能放在构造方法的首行。 // 2、在使用this调用本类的其他构造方法的时候,至少有1个构造方法不能用this调用,否则会出现递归调用错误。class Person{// 定义Person类 private String name ;// 姓名 private int age ;// 年龄 public Person(){// 无参构造 System.out.println("新对象实例化") ; } public Person(String name){ this() ;// 调用本类中的无参构造方法 this.name = name ; } public Person(String name,int age){// 通过构造方法赋值 this(name) ;// 调用有一个参数的构造方法 this.age = age ;// 为类中的age属性赋值 } public String getInfo(){ // 取得信息的方法return "姓名:" + name + ",年龄:" + age ; }}public class Testc{ public static void main(String args[]){ Person per1 = new Person("张三",33) ;// 调用构造实例化对象 System.out.println(per1.getInfo()) ;// 取得信息 }}//this表示当前对象 ,表示正在调用方法的对象 class Person { public String getInfo() { System.out.println("Person类 --> " + this);// 直接打印this return null ;// 此处返回null,为的是让语法不出错 }}public class Testc {public static void main(String[] args) {Person per1 = new Person() ;Person per2 = new Person() ;System.out.println("MAIN方法 --> " + per1);// 直接打印对象per1.getInfo() ;System.out.println("--------------------------") ;System.out.println("MAIN方法 --> " + per2);// 直接打印对象per2.getInfo() ;}}//this作为返回值//当this作为对象的默认引用使用时,程序可以像访问普通引用变量一样来访问这个this引用,//甚至可以把this当成普通方法的返回。class Person { int age; public Person grow(){ age++; return this; } }public class Testc{public static void main(String[] args){ Person per = new Person(); per.age = 100; per.grow().grow(); //可以连续调用同一方法 System.out.println("age属性值是:" + per.age); }}//对象比较//生成两个对象,当两个对象中的姓名和年龄完全相等时,则认为对象是相等的。//String本身就是一个类,若要比较相等,则要判断内容是否相同,必须用equals()方法,//而age是int型,所以直接用“==”完成。public class Testc{ public static void main(String args[]){ Person per1 = new Person(“张三”,30) ; Person per2 = new Person(“张三”,30) ; // 直接在主方法中依次取得各个属性进行比较 if(per1.getName().equals(per2.getName())&&per1.getAge()==per2.getAge()){ System.out.println("两个对象相等!") ; }else{ System.out.println("两个对象不相等!") ; } }}//如果地址相等,则两个对象相等,如果地址不相等,则依次判断每个属性的内容是否相等来判断两个对象是否相等。public boolean compare(Person per){// 调用此方法时里面存在两个对象:当前对象、传入的对象 Person p1 = this ;// 当前的对象,就表示per1 Person p2 = per ;// 传递进来的对象,就表示per2 if(p1==p2){// 判断是不是同一个对象,用地址比较 return true ; } // 之后分别判断每一个属性是否相等 if(p1.name.equals(p2.name)&&p1.age==p2.age){ return true ;// 两个对象相等 }else{ return false ;// 两个对象不相等 }}public class Testc{ public static void main(String args[]){ Person per1 = new Person(“张三”,30) ;// 声明两个对象,内容完全相等 Person per2 = new Person(“张三”,30) ;// 声明两个对象,内容完全相等 // 直接在主方法中依次取得各个属性进行比较 if(per1.compare(per2)){ System.out.println("两个对象相等!") ; }else{ System.out.println("两个对象不相等!") ; } }}
阅读全文
0 0
- this关键字的作用 使用this调用其他构造方法 使用this表示当前对象
- 使用this调用构造方法
- 使用this调用重载的构造方法
- C#使用this关键字实现串联构造函数调用方法
- JavaScript - 构造方法和this关键字使用
- this表示当前对象
- this关键字的使用
- this 关键字的使用
- this 关键字的使用
- this关键字的使用
- this关键字的使用
- this关键字的使用
- this关键字的使用
- this关键字的使用
- this关键字的使用
- this关键字的使用
- this关键字的使用
- this关键字的使用
- numpy数据相关函数总结
- android studio 导入库提示失败的处理方法以及androidstudio 清理缓存的方法
- 容器与虚拟机的区别
- 不等式约束最优性条件
- 正则表达式
- this关键字的作用 使用this调用其他构造方法 使用this表示当前对象
- MFC新建一个tab页视图
- Java实现用户注册手机发码送验证
- GPIO库函数
- docker一键部署启动java web项目
- 单链表删除特定值
- 剑指offer-替换空格
- hibernate的三种状态
- 20171120测试笔记