zoukankan      html  css  js  c++  java
  • java===this关键字

    
    

    package cn.china;

    
    

    public class testDemo1 {

    
    

    public static void main(String[] args) {
    Person person = new Person(20,"钢弹");
    Person person1 = new Person(30,"周星驰");
    person.speak();
    person1.speak();

    
    

    }

    
    

    }
    /*
    * this代表对象,this就是所在函数所属对象的引用
    * 简单说:哪个对象调用了this所在的函数,this就代表哪个对象。
    * 类中成员必须要有对象调用(除了静态方法)*/
    class Person{
    private int age;
    private String name;
    public void setAge(int age){
    this.age=age;
    }
    public int getAge(){
    return this.age;
    }
    public void setName(String name){
    this.name=name;
    }
    public String getName(){
    return this.name;
    }
    public Person(int age,String name){
    this(age);//this等于(new Person),简单说就是调用这个构造方法的对象;
    this.name=name;//注意this在构造函数中调用其它构造函数,只能定义在构造函数中的第一行;

    }
    public Person(int age){
    this.age=age;
    }
    public void speak(){
    System.out.println("age="+this.age+"name="+this.name);
    }
    /*
    * this 应用:只要调用本类对象,就可以使用this
    * 添加功能:判断是否是同龄人*/
    public boolean compare(Person p){
    // if(this.age==p.age)
    // return true;
    // else
    // return false;
    return this.age==p.age;
    }
    }

     

    package cn.java;
    class Person{
        private String name;
        private int age;
        Person(){//构造函数可以调用一般函数,但是一般函数不能调用构造函数;
            name="baby";
            age=1;
            System.out.println("person run!");
            return;
        }
        Person(String name){
            this.name=name;
            return;
        }
        Person(String name,int age){
            this(name);
            this.age=age;
            return;
            /**
             * 当成员变量与局部变量重名时可以用this区分。
             * this:代表对象,代表哪个对象呢?当前对象。
             * this就是所在函数所属对象的引用。
             * 简单说:哪个对象调用了this所在的函数,this就代表哪个对象。
             * this可以调用构造函数*/
        }
        public void speak(){
            //this被省略,因为方法都被对象调用
            System.out.println(this.name+":"+this.age);
            return;
        }
    }
    public class javaThis {
    
        public static void main(String[] args) {
            Person p1=new Person("sky",25);
            p1.speak();
            Person p2=new Person("tom",27);
            p2.speak();
            // TODO Auto-generated method stub
    
        }
    
    }
  • 相关阅读:
    How can TCP ACKs be used to measure latency to a server?
    信息安全技术实用教程(第4版)
    java.util基础复习
    Java.IO基础复习
    vue3 打包插件后出现的带有slot的插件报 reading isCE问题
    vue3的一些基本常识(slot,ref)
    webpack常用配置说明(以webpack5为主)
    谷歌上不能在页面加载的时候播放音频解决办法
    vite vue插件打包配置
    Vue3中typescript编译遇到的问题(props的validator)
  • 原文地址:https://www.cnblogs.com/wangyinxu/p/6509437.html
Copyright © 2011-2022 走看看