为了账号安全,请及时绑定邮箱和手机立即绑定

面向对象——this关键字

标签:
Java


this关键字

作用:区分成员变量和局部变量同名的问题

方法中的局部变量和成员变量如果同名,在方法中打印该变量会遵循就近原则,不会去理会成员变量,如果在该变量前面加上this.的话,就会指向成员变量,this的作用就是哪个对象调用我就指向哪个对象。

面向对象的案例:判断两人是否为同龄人

l  描述人的类

package cn.itcast.this关键字;/* * 定义人的类,描述年龄即可 */public class Person {   //定义年龄   private int age;   //设置值,setXxx()方法   public void setAge(int age){      this.age = age;   }   //获取值,getXxx()方法   public int getAge(){      return age;   }   /*    * 定义方法,对年龄进行比较并返回    * 方法名compareAge()    * 返回值:相同为true,不同为false,boolean    * 参数列表:Person变量    */   public boolean compareAge(Person p){      return this.age == p.age;   }}


l  测试类

package cn.itcast.this关键字;/* * 测试类 * 创建Person类的对象 * 对象名.调用成员变量方法并赋值 * 对象名.调用方法 */public class PersonTest {   public static void main(String[] args) {      //创建两个人的对象      Person p1 = new Person();      Person p2 = new Person();      //通过setXxx方法对对象赋值      p1.setAge(20);      p2.setAge(20);      //通过getXxx方法获取打印值      System.out.println(p1.getAge());      System.out.println(p2.getAge());      //调用方法进行比较值      System.out.println(p1.compareAge(p2));   } }


面向对象的案例:随机点名器

l  学生类

package cn.itcast.random随机点名器; /* * 定义一个Student学生类 * 描述出姓名和年龄,私有化 * 对外提供访问方式 */public class Student {   //定义学生姓名   private String name;   //定义学生年龄   private int age;   //setXxx和getXxx   public void setName(String name){      this.name = name;   }   public void setAge(int age){      this.age = age;   }   public String getName(){      return name;   }   public int getAge(){      return age;   }}


l  测试类

package cn.itcast.random随机点名器; import java.util.ArrayList;import java.util.Random; /* * 测试类 * 分析:1、定义一个Student学生类,描述学生的姓名和年龄 *    2、在主方法中需要定义一个集合去存储学生的信息,实现随机点名器的功能 *    3、定义方法,将学生的姓名和年龄进行设置,并存储到集合中 *    4、定义方法,遍历集合,并获取打印出集合中的信息 *    5、定义方法,实现随机点名的效果 */public class StudentTest {   public static void main(String[] args) {      //定义一个ArrayList集合存储学生信息      ArrayList<Student> array = new ArrayList<Student>();      //调用addStudent方法,存储学生的信息      addStudent(array);      //调用遍历集合的方法      printStudent(array);      //调用随机点名的方法      randomStudent(array);   }   /*    * 定义方法,实现随机点名的效果    * 返回值:void    * 参数列表:集合    */   public static void randomStudent(ArrayList<Student> array){      Random r = new Random();      int index = r.nextInt(array.size());      Student s = array.get(index);      System.out.println(s.getName());   }   /*    * 定义方法,遍历集合,并获取打印出集合中的信息    * 返回值:void    * 参数列表:集合    */   public static void printStudent(ArrayList<Student> array){      //遍历集合      for(int i = 0;i < array.size();i++){         Student s = array.get(i);         System.out.println("姓名:"+s.getName()+"\t"+"年龄:"+s.getAge());      }   }   /*    * 定义方法,将学生的姓名和年龄进行设置,并存储到集合中    * 返回值:void     * 参数列表:集合    */   public static void addStudent(ArrayList<Student> array){      //创建Student对象,对其设置年龄和姓名      Student s = new Student();      s.setAge(20);      s.setName("张三");            Student s1 = new Student();      s1.setAge(21);      s1.setName("李四");            Student s2 = new Student();      s2.setAge(23);      s2.setName("王五");            Student s3 = new Student();      s3.setAge(22);      s3.setName("胡椒");      //将信息存储到集合中      array.add(s);      array.add(s1);      array.add(s2);      array.add(s3);   }}


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消