16 this和super和构造代码块
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;
    }
}
构造代码块---在类内方法外{}
调用任意的构造方法都会默认执行构造代码块,构造代码块优先于任意的构造方法
构造代码块可以给属性赋予初始值和调用方法
16 this和super和构造代码块的更多相关文章
- Java第11次作业:什么是继承?继承的好处?什么是覆写?super()?构造代码块?子父类初始化顺序? 抽象类能用final声明吗?final关键字声明类 方法 变量以及全局常量?抽象类的构造方法?
		什么是继承? 继承是以父类为基础,子类可以增加新的数据或新的功能.子类不能选择性地继承父类.这种技术使得复用以前的代码非常容易. JAVA不支持多继承,单继承使JAVA的继承关系很简单,一个类只能有一 ... 
- 【Java面试题】16 静态代码块,main方法,构造代码块,构造方法
		public class HelloB extends HelloA{ public HelloB() { System.out.println("HelloB"); } { Sy ... 
- Java中普通代码块,构造代码块,静态代码块区别及代码示例
		//执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 其中静态代码块只执行一次.构造代码块在每次创建对象是都会执行. 1 普通代码块 1 //普通代码块 ... 
- Java中普通代码块,构造代码块,静态代码块执行顺序
		//执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 其中静态代码块只执行一次.构造代码块在每次创建对象是都会执行. 1 普通代码块 1 //普通代码块 ... 
- Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序
		静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义,每一次创建对象时执行.执行顺序优先级:静态块,main(),构造块,构造方法. 构造函数 public H ... 
- [改善Java代码]构造代码块会想你所想
		建议37: 构造代码块会想你所想 镜像博文:http://www.cnblogs.com/DreamDrive/p/5413408.html http://www.cnblogs.com/DreamD ... 
- java中静态代码块,构造代码块,以及构造方法的执行顺序
		写了许久的代码,却把一些基础的东西都给忘了,今天无聊就顺手写了个,然后测试下,发现跟我记忆中的竟然有些出入,作为一个两年的开发,我感觉自己很失败啊. 父类pojo: public class Pojo ... 
- java学习(一)静态代码块 构造代码块 构造方法的执行顺序及注意问题
		今天我总结了一下java中静态代码块 构造代码块 构造方法的执行顺序及其注意问题 首先要知道静态代码块是随着类的加载而加载,而构造代码块和构造方法都是随着对象的创建而加载 当时做了这么一个小案例(想必 ... 
- 构造代码块、this关键字、静态变量、静态代码块、主函数
		一.构造代码块: 作用:给对象进行初始化. 特点:对象一经运行就执行(与变量声明时赋初值同级别,此处注意 非法前向引用) 优先于构造函数的执行. 与构造函数的区别: 构造代码块是给所有对象统一初始化. ... 
随机推荐
- maven 打包排除配置文件
			如果你想通过pom.xml文件的配置实现的话,你可以这样1.打jar包时过滤配置文件<build><!-- 过滤配置文件 --><resources><res ... 
- SEO 搜索引擎优化培训01
			百度搜索风云榜:http://top.baidu.com/boards 页面上的因素:对搜索引擎而言 
- MySQL-子查询,派生表,通用表达式
			MySQL-子查询 MySQL子查询是嵌套在另一个查询中的查询. MySQL子查询还可以嵌套在另一个子查询中. MySQL子查询称为内部查询,而包含子查询的查询称为外部查询. 查询返回在位于美国(US ... 
- SpringMVC之请求参数的获取方式
			转载出处:https://www.toutiao.com/i6510822190219264516/ SpringMVC之请求参数的获取方式 常见的一个web服务,如何获取请求参数? 一般最常见的请求 ... 
- jboss相关的术语
			1 jboss eap java ee application server.red hat官方版本. 2 jboss as/wildfly java ee application server的社区 ... 
- Open Source Computer Vision Library
			https://opencv.org/ OpenCV (Open Source Computer Vision Library) is released under a BSD license and ... 
- JavaScript中的string interpolation
			https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals var a = 5; var b ... 
- html5 弹性布局
			html5 弹性布局 一.移动开发常用技巧 Viewport基本知识 设置布局Viewport的各种信息1.width=device-width: 设置Viewport视口宽度等于设备宽度2.init ... 
- oracle导入dmp文件时出现异常
			oracle导入dmp文件时出现错误 今天在给oracle导入dmp文件时老是出现错误,无论是命令行或PL/SQL,错误截图如下: 经查是导入用户的权限不足,导入用户并没有DBA权限,而导出的dmp文 ... 
- the odb manual
			http://www.codesynthesis.com/products/odb/doc/manual.xhtml#18.4 
