16 this和super和构造代码块
2024-08-30 23:15:27
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;
} }
构造代码块---在类内方法外{}
调用任意的构造方法都会默认执行构造代码块,构造代码块优先于任意的构造方法
构造代码块可以给属性赋予初始值和调用方法
最新文章
- SQL注入以及如何防止和索引
- ACM集训的Day3 B。。。盲目搜索之DFS。。。
- 设置hr标签的粗细
- java字符串大小写字母互改
- iOS 8 WKWebView
- jquery $.ajax方法
- NYOJ-205 求余数 AC 分类: NYOJ 2014-02-02 12:30 201人阅读 评论(0) 收藏
- ASP.NET缓存全解析5:文件缓存依赖 转自网络原文作者李天平
- 01-03-03【Nhibernate (版本3.3.1.4000) 出入江湖】cascade的测试
- 如何在 PHP 中处理 Protocol Buffers 数据
- 关于ER图和UML图之间的对比
- JavaScript编程:文档对象模型DOM
- python分布式环境下的限流器
- UILabel设定行间距方法
- Mysql 查询条件中字符串尾部有空格也能匹配上的问题
- koa
- 5. Scala函数式编程的基础
- March 09th, 2018 Week 10th Friday
- .NET NPOI操作Excel 让单元格的内容换行
- 利用百度API(js),怎样通过地址获取经纬度