zoukankan      html  css  js  c++  java
  • java面向对象编程(三)--this

    看一段代码:(Demo112.java),先了解为什么要使用this。

    /*
        this的必要性
    */
    public class Demo112{
        public static void main(String []args){
            Dog dog1=new Dog(2,"大黄");
            Person p1=new Person(dog1,23,"刚子");
            Person p2=new Person(dog1,24,"小龙");
            p1.showInfo();    
            p1.dog.showInfo();
        }
    }
    //定义一个人类
    class Person{
        //成员变量
        int age;
        String name;
        Dog dog;//引用类型 
     
    //人类的构造函数
        public Person(Dog dog,int age,String name){
            //如此书写可读性很差,不知道两个age哪个指参数列表中的,哪个指成员变量中的。
             //age=age;
            //name=name;
            //引入this,让它指向当前对象。
            this.age=age;   //this.age指定的是成员变量age
            this.name=name; //this.name指定的是成员变量name
            this.dog=dog;
        }
        //显示人名字
        public void showInfo(){
            System.out.println("人名是:"+this.name);
        }
    }
    
    class Dog{
        int age;
        String name;
        public Dog(int age,String name){
            this.age=age;
            this.name=name;
        }
        //显示狗名
        public void showInfo(){
            System.out.println("狗名叫"+this.name);
        }
    }

    从案例中看出,引入thsi是必要的。this是属于一个对象,不属于类的,但它不能在类定义的外部使用,只能在类定义的方法中使用。java虚拟机会给每个对象分配this,代表当前对象。

  • 相关阅读:
    20180315 代码错题(7)
    20180315 代码错题(6)
    20180315 代码错题(5)
    20180315 代码错题(4)
    01背包问题(动态规划)
    等差素数列 暴力搜索
    小L记单词
    三角形
    小L的试卷
    小L的项链切割 (回文串)
  • 原文地址:https://www.cnblogs.com/Davis812/p/3902918.html
Copyright © 2011-2022 走看看