zoukankan      html  css  js  c++  java
  • Java面向对象中this关键字详解 意义+实例讲解【hot】

    this关键字

    >>>便于理解简单的定义

    this关键字可以简单的理解为,谁调用this所在的方法,this就是谁。

    类的构造函数与getter、setter方法常用到this关键字(JavaBean)
    JavaBean是一种可重用的Java组件,它可以被Applet、Servlet、SP等Java应用程序调用.也可以可视化地被Java开发工具使用。它包含属性(Properties)、方法(Methods)、事件(Events)等特性。

    public class Person {
        //==========静态属性===========
        private String name; //姓名
        private int age;     //年龄
        private String gender;  //性别
    
        //==========动态行为===========
        public void readBook(String book) {
            System.out.println("reading " + book);
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;//this.name就是上面的private String name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public String getGender() {
            return gender;
        }
    
        public void setGender(String gender) {
            this.gender = gender;
        }
    }
    

    >>>官方定义(查自菜鸟教程)

    this 是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。
    this 的用法在 Java 中大体可以分为3种:
    1.普通的直接引用
    这种就不用讲了,this 相当于是指向当前对象本身。
    2.形参与成员名字重名,用 this 来区分:

    class Person {
        private int age = 10;
        public Person(){
        System.out.println("初始化年龄:"+age);
    }
        public int GetAge(int age){
            this.age = age;
            return this.age;
        }
    }
     
    public class test1 {
        public static void main(String[] args) {
            Person Harry = new Person();
            System.out.println("Harry's age is "+Harry.GetAge(12));
        }
    }
    

    运行结果

    初始化年龄:10
    Harry's age is 12
    

    可以看到,这里 age 是 GetAge 成员方法的形参,this.age 是 Person 类的成员变量。

  • 相关阅读:
    洛谷 P2590 [ZJOI2008]树的统计
    如何让文件夹隐藏起来,保护自己的隐私
    SharePoint入门——创建一个网站
    SharePoint 解决管理员密码修改后各种问题的来袭
    .NET创建一个即是可执行程序又是Windows服务的程序
    C#——WebApi 接口参数传参详解
    C#中对Web.Config、App.Config字符串加密与解密的方法
    邮件服务器常用地址和端口信息
    Unity3d 5.x搭载VS2013使用
    系统性能优化- Session丢失
  • 原文地址:https://www.cnblogs.com/BIG-BOSS-ZC/p/11807352.html
Copyright © 2011-2022 走看看