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 类的成员变量。

  • 相关阅读:
    Nginx 部署多个 web 项目(虚拟主机)
    Nginx 配置文件
    Linux 安装 nginx
    Linux 安装 tomcat
    Linux 安装 Mysql 5.7.23
    Linux 安装 jdk8
    Linux 安装 lrzsz,使用 rz、sz 上传下载文件
    springMVC 拦截器
    spring 事务
    基于Aspectj 注解实现 spring AOP
  • 原文地址:https://www.cnblogs.com/BIG-BOSS-ZC/p/11807352.html
Copyright © 2011-2022 走看看