博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
16 this和构造代码块
阅读量:5064 次
发布时间:2019-06-12

本文共 1321 字,大约阅读时间需要 4 分钟。

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;    }   }

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

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

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

转载于:https://www.cnblogs.com/xuwangqi/p/11051074.html

你可能感兴趣的文章
读构建之法第四章第十七章有感
查看>>
C#中的IEnumerable<T>知识点
查看>>
android访问链接时候报java.net.MalformedURLException: Protocol not found
查看>>
dwz ie10一直提示数据加载中
查看>>
Windows Phone开发(4):框架和页 转:http://blog.csdn.net/tcjiaan/article/details/7263146
查看>>
Windows Phone Marketplace 发布软件全攻略
查看>>
Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)【转】
查看>>
语义web基础知识学习
查看>>
hexo个人博客添加宠物/鼠标点击效果/博客管理
查看>>
python asyncio 异步实现mongodb数据转xls文件
查看>>
关于WPF的2000件事 02--WPF界面是如何渲染的?
查看>>
单元测试、、、
查看>>
SVN使用教程总结
查看>>
JS 浏览器对象
查看>>
TestNG入门
查看>>
【ul开发攻略】HTML5/CSS3菜单代码 阴影+发光+圆角
查看>>
虚拟中没有eth0
查看>>
Unity 3D游戏开发学习路线(方法篇)
查看>>
BZOJ2049[Sdoi2008]Cave 洞穴勘测(LCT模板)
查看>>
vuex插件
查看>>