• 构造器与类同名
  • 每个类可以有1一个以上的构造器
  • 构造器可以有0个,1个或者多个参数
  • 构造器没有返回值,不可以写return
  • 构造器总是伴随着new操作一起调用

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

构造函数的小细节:当类中没有定义构造函数时,系统会默认给该类提供一个空参数的构造函数;

什么时候定义构造函数:当分析事物时,该事物存在具备一些特性或者行为,那么就将这些内容定义在构造函数中。

另:不要在构造器中定义与实例域重名的局部变量

class  PersonDemo2
{
public static void main(String[] args)
{
Person p1 = new Person(); Person p2 = new Person("Siyingcheng"); Person p3 = new Person("Amy.Cao",27);
}
} class Person
{
private String name;
private int age;
Person()
{
System.out.println("Name=" + name + ", Age=" + age);
}
Person(String n)
{
name = n;
System.out.println("Name=" + name + ", Age=" + age);
}
Person(String n, int a)
{
name = n;
age = a;
System.out.println("Name=" + name + ", Age=" + age);
}
  public void setName(String n)
  {
    name = n;
  }
  public String getName()
  {
    return name;
  }
}

构造代码块:

作用:给对象进行初始化,一般用于所有对象共性的内容进行初始化

  构造代码块优先于构造函数执行;

  构造代码块是给所有对象进行初始化,而构造函数是给对应的对象进行初始化;

 class  PersonDemo2
{
public static void main(String[] args)
{
Person p1 = new Person(); Person p2 = new Person("Siyingcheng"); Person p3 = new Person("Amy.Cao",27);
}
} class Person
{
private String name;
private int age; {
cry();
} public static void cry()
{
System.out.println("孩子哭了");
} Person()
{
System.out.println("Name=" + name + ", Age=" + age);
}
Person(String n)
{
name = n;
System.out.println("Name=" + name + ", Age=" + age);
}
Person(String n, int a)
{
name = n;
age = a;
System.out.println("Name=" + name + ", Age=" + age);
}
}

Java: constructor 构造代码块的更多相关文章

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

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

  2. Java中构造代码块的使用

    例子1 public class Client { { System.out.println("执行构造代码块1"); } { System.out.println("执 ...

  3. 关于java构造函数,静态代码块,构造代码块,和普通代码块相关总结(一)

    构造函数.构造代码块和静态代码块容易混淆,它们的执行条件和执行顺序也常常容易犯迷.这里就针对这些问题说一下我个人的一些理解,顺便对这部分内容做个小结. 一.构造函数 格式:类名(参数1,参数2,-){ ...

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

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

  5. Java中普通代码块,构造代码块,静态代码块区别及代码示例

    //执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 其中静态代码块只执行一次.构造代码块在每次创建对象是都会执行. 1 普通代码块 1 //普通代码块 ...

  6. Java中普通代码块,构造代码块,静态代码块执行顺序

    //执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 其中静态代码块只执行一次.构造代码块在每次创建对象是都会执行. 1 普通代码块 1 //普通代码块 ...

  7. Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序

    静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义,每一次创建对象时执行.执行顺序优先级:静态块,main(),构造块,构造方法. 构造函数 public H ...

  8. Java中的构造代码块

    代码块 ----a静态代码块 ----b构造代码块 ----c普通代码块 执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. a.静态代码块: 静态代码块 ...

  9. java中的静态代码块、构造代码块、构造方法

    运行下面这段代码,观察其结果: package com.test; public class HelloB extends HelloA { public HelloB() { } { System. ...

随机推荐

  1. eclipse 安装git

    1.安装Git 首先安装Git.这里只讲Windows环境下安装Git方法. 从Git下载git的Windows安装文件,一路Next到选择安装组件这一步: 选上Git Bash Here这一项,这样 ...

  2. Java中的AWT进阶

    围棋 package ch11; /** * Created by Jiqing on 2016/12/4. */ import java.awt.*; import javax.swing.*; i ...

  3. JavaWeb 4 XML

    4 XML 1 XML入门        1.1 引入        HTML: 负责网页的结构            CSS: 负责网页的样式(美观)        Javascript: 负责在浏 ...

  4. mysql ERROR 1044 (42000): Access denied for user ''@'localhost' to database

    新安装的mysql密码是空的. ./mysql -u root -p use mysql SELECT `Host`,`User` FROM user; UPDATE user SET `Host` ...

  5. OpenGL的GLUT事件处理(Event Processing)窗口管理(Window Management)函数[转]

    GLUT事件处理(Event Processing)窗口管理(Window Management)函数 void glutMainLoop(void) 让glut程序进入事件循环.在一个glut程序中 ...

  6. 转!!URL和URI区别

    URI,URL,URN 从上面的那幅图可以看出来,一共有三个不同的概念URI,URL,URN.这讨论这样的问题时,最好的方法就是回到原点啊,这里我们在RFC 3986: Uniform Resourc ...

  7. 20160805_CentOS6_键盘快捷键

    1. 系统 -->首选项 --> 键盘快捷键 2. 3.

  8. ubuntu14.04-rocketmq单机搭建

    需要环境: jdk(1.6+) git(如果clone源码,需要git,没有git直接下载gar包也行) maven3.x在安装之前确定自己已经安装了jdk:java -version 先获取reck ...

  9. Windows Server 2012 (2008) 忘记密码重置方法 Windows 10 忘记密码

    要使用windows server 2012安装DVD,选择光盘引导进入 进入修复系统---命令提示符---切换目录至系统目录--执行move命令    先备份  utilman.exe(他就是这个程 ...

  10. 谈谈HttpUrlConnection与DefaultHttpClient一些区别

    HttpClient封装的很庞大,很复杂,你必须按照,他封装的思想去使用它,导致它很不灵活. 相比之下,HttpUrlConnection很轻巧,很方便,很灵活. HttpClient对于数据上面的封 ...