• 16 this和构造代码块


    this关键词---当前类的对象的引用

    public class Public {
        String name;
        int age;
        public static void main(String[] args) {
    
        }
        public Public(String n,int a) //构造方法 
        {
            name=n;  //参数名和属性名不相同那么就没有关系
            age=a;
        }
    
        
        /*public Public(String name,int age) //构造方法 
        {
            name=name; //这个是属性的变量和参数的变量重名了,这个时候按照方法的就近原则,这行
            代码相当于方法参数的name给自己赋值,而不是方法参数name给属性name赋值.
            age=age;
        }*/
       
    
        /*public Public(String name,int age) //构造方法 
        {
            this.name=name;  //这个时候this.name 就代表属性name
            this.age=age;
        }*/
       
    
    }

    在类还在编译的时候没有对象,此时this就可以代替还没有产生的对象去调用本类的属性和方法.创建对象的时候this就指代了这个对象

     this可以替代很多的对象。

    哪个实例对象在使用this就指代为哪个对象----灵活的指代

    this是虚拟的指代,他不是一个对象.。

    this语句 ---在构造方法中使用,去调用本类中其他形式的构造方法,要在首行,要有出口.

    this语句只能在本类构造方法中调用其他形式的构造方法 并且保证this语句出现在构造方法第一行

    public class Public {
        String name;
        int age;
        public static void main(String[] args) {
    
        }
        public Public() //构造方法 
        {
            
        }
    
        
        public Public(String name) //构造方法 
        {
            this();//这个就是this语句,此时调用的是无参构造函数 ,嵌套调用此时是有出口的,调用到无参构造函数结束
        this.name=name; 
            
        }
       
    
        public Public(String name,int age) //构造方法 
        {
            this(name);//this语句此时调用的是Public(String name)
            this.age=age;
        }
       
    
    }

     构造代码块---在类内方法外{}    

    调用任意的构造方法都会默认执行构造代码块,构造代码块优先于任意的构造方法

    构造代码块可以给属性赋予初始值和调用方法

  • 相关阅读:
    并发基础(一) 线程介绍
    java基础(九) 可变参数列表介绍
    全球 43 亿 IPv4 地址已耗尽!IPv6,刻不容缓
    IPv6,无需操作就可升级?
    为什么 HTTPS 比 HTTP 安全
    从《国产凌凌漆》看到《头号玩家》,你就能全面了解5G
    再谈 APISIX 高性能实践
    API 网关的选型和持续集成
    尹吉峰:使用 OpenResty 搭建高性能 Web 应用
    鱼和熊掌可兼得?一文看懂又拍云 SCDN
  • 原文地址:https://www.cnblogs.com/xuwangqi/p/11051074.html
Copyright © 2020-2023  润新知