一、构造函数

对象一建立就会调用与之对应的构造函数。

构造函数的作用:可以用于给对象进行初始化。

构造函数的小细节:当一个类中没有定义构造函数时,系统会默认给该类加一个空参数的构造函数;当在类中自定义了构造函数后,默认构造函数就没有了。

二、构造代码块

在类中直接用大括号{}括起来的代码块,在类被编译的时候执行,进行一些准备工作。与属性、方法并列存在。
class Person
{
private String name;
private int age;
/*
构造代码块
*/ {
System.out.println("crying……"); //中间定义的是函数的共性,只要定义对象不管什么对象,都会执行,
} //并且优先于构造函数执行 Person()
{
System.out.println("A:name="+name+",age="+age);
}
Person(String n)
{
name=n;
System.out.println("B:name="+name+",age="+age);
}
Person(String n,int a)
{
name=n;
age=a;
System.out.println("C:name="+name+",age="+age);
}
} class PersonDemo
{
public static void main(String[] args)
{
Person p1=new Person();
///Person p2=new Person("李四");
///Person p3=new Person("王五",10);
}
}


三、this

this一般来说有两种使用方式:
第一种是给当前对象属性付初值,例如tihs.name=name;
第二种是在一个构造函数中调用另外一个构造函数
/*
this语句用于构造函数之间进行互相调用
*/
class Person
{
private String name;
private int age; Person(String name)
{
thisname=name;
} Person(String name,int age)
{
//这里面一定要记住this后面没点
this(name);
this.age=age;
} } class PersonDemo
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}

四、三者的执行顺序

第一:构造代码块在编译的时候执行。
第二:构造函数在运行时候执行。
第三:this在构造函数执行时,调用另一个构造函数。





构造代码块、构造函数、this执行顺序的更多相关文章

  1. java学习(一)静态代码块 构造代码块 构造方法的执行顺序及注意问题

    今天我总结了一下java中静态代码块 构造代码块 构造方法的执行顺序及其注意问题 首先要知道静态代码块是随着类的加载而加载,而构造代码块和构造方法都是随着对象的创建而加载 当时做了这么一个小案例(想必 ...

  2. Java面试题 静态代码块 构造代码块 构造方法 的执行顺序

    JAVA中的静态代码块 构造代码块 构造方法执行顺序: 静态代码块(类加载时执行)>>构造代码块>>构造方法 下面展示一个简单的例子,推荐大家动手运行一遍: public cl ...

  3. java中构造代码块、方法调用顺序问题

    1. 继承的概念 继承在本职上是特殊——一般的关系,即常说的is-a关系.子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法. 2. 继承中的初始化顺序 从类的结构上而言,其 ...

  4. 【转】java静态代码块和构造方法执行顺序

    先看看下面几个类,然后判断它们的输出public class A { static{System.out.print(1);}public A(){System.out.print(2);}} pub ...

  5. java面试基础题------》Java 中的父子类静态代码块,代码块,构造方法执行顺序

    4.指出下面程序的运行结果. class A { static { System.out.print("1"); } public A() { System.out.print(& ...

  6. Java中静态代码块、构造代码块、构造函数、普通代码块

    在Java中,静态代码块.构造代码块.构造函数.普通代码块的执行顺序是一个笔试的考点,通过这篇文章希望大家能彻底了解它们之间的执行顺序. 1.静态代码块 ①.格式 在java类中(方法中不能存在静态代 ...

  7. 牛客网Java刷题知识点之什么是代码块、普通代码块、静态代码块、同步代码块、构造代码块以及执行顺序

    不多说,直接上干货! 这种形式的程序段我们将其称之为代码块,所谓代码块就是用大括号({})将多行代码封装在一起,形成一个独立的数据体,用于实现特定的算法.一般来说代码块是不能单独运行的,它必须要有运行 ...

  8. About 静态代码块,普通代码块,同步代码块,构造代码块和构造函数的纳闷

    构造函数用于给对象进行初始化,是给与之对应的对象进行初始化,它具有针对性,函数中的一种.特点:1:该函数的名称和所在类的名称相同.2:不需要定义返回值类型.3:该函数没有具体的返回值.记住:所有对象创 ...

  9. java构造代码块,构造函数和普通函数的区别和调用时间

    在这里我们谈论一下构造代码块,构造函数和普通函数的区别和调用时间.构造代码块:最早运行,比构造函数运行的时间好要提前,和构造函数一样,只在对象初始化的时候运行.构造函数:运行时间比构造代码块时间晚,也 ...

  10. 5.1JAVA基础复习——JAVA中的静态代码块、构造代码块、构造函数、局部代码块区别

    构造代码块: 在类中定义可以给所有对象进行初始化.局部代码块: 在方法中定义属性的生命周期.静态代码块: 在类中定义用于给类调用时属性的初始化 构造函数与构造代码块的区别: 构造函数是给对应的对象进行 ...

随机推荐

  1. 基于Django进行简单的微信开发

    代码地址如下:http://www.demodashi.com/demo/11756.html 一.微信公众号的准备: 1. 注册 访问地址:https://mp.weixin.qq.com/ 按照提 ...

  2. Java + Selenium + WebDriver八大元素定位方式

    UI自动化测试的第一步就是进行元素定位,下面给大家介绍一下Selenium + WebDriver的八大元素定位方式.现在我们就以百度搜索框为例进行元素定位,如下图: 一.By.name() Java ...

  3. java jdk 环境变量设置

    我的电脑点右键,选择“属性”,选择“高级”标签,进入环境变量设置,分别设置如下三个环境变量: 设置JAVA_HOME: 一是为了方便引用,比如,JDK安装在C:\jdk1.6.0目录里,则设置JAVA ...

  4. Ctrl/Alt 快捷键

    Ctrl+S 保存   Ctrl+W 关闭程序   Ctrl+N 新建文档   Ctrl+O 打开(选择打开其他文档)   Ctrl+Z 撤销   Ctrl+F 查找   Ctrl+X 剪切   Ct ...

  5. Android中ListView分类

    1 http://my.oschina.net/bv10000/blog/106436 2

  6. windows利用jconsole远程监控linux的tomcat

    1.配置tomcat ①  编辑tomcat的catelina.sh文件,进入tomcat安装目录,使用命令:sudo vim bin/catalina.sh,如果是普通用户启动的,则修改damen. ...

  7. The TTY demystified

    http://www.linusakesson.net/programming/tty/index.php The TTY demystified Real teletypes in the 1940 ...

  8. 调整jvm内存

    1.使用解压tomcat     在catalina.bat的第一行增加:    set JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNew ...

  9. IDEA导入tomcat9源码跑起来~

    如题,这里记录一下用IDEA导入tomcat9的源码,并跑起来.看了本教程你还是不会的话直接问我. 一.环境安装以及目录搭建 tomcat9源码下载地址:http://mirrors.hust.edu ...

  10. HBase概念及表格设计

    HBase概念及表格设计 1. 概述(扯淡~) HBase是一帮家伙看了Google发布的一片名为“BigTable”的论文以后,犹如醍醐灌顶,进而“山寨”出来的一套系统. 由此可见: 1. 几乎所有 ...