------- android培训java培训、期待与您交流! ----------

构造函数特点:

1.  函数名与类名相同

2.  不用定义返回值类型

3.  不可以写return语句

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

注意:

1.  默认构造函数的特点。

2.  多个构造函数是以重载的形式存在的。

构造函数的小细节:

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

当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。

当在类中自定义了构造函数后,默认的构造函数就没有了。

一个类中默认会有一个空参数的构造函数,这个默认的构造函数的权限和所属类一致。

如果类被public修饰,那么默认的构造函数也带public修饰符。

如果类没有被public修饰,那么默认的构造函数,也没有public修饰。

默认构造构造函数的权限是随着的类的变化而变化的。

构造函数和一般函数的区别:

构造函数和一般函数在写法上有不同。在运行上也有不同。

构造函数是在对象一建立就运行。给对象初始化。

而一般方法是对象调用才执行,给是对象添加对象具备的功能。

一个对象建立,构造函数只运行一次。而一般方法可以被该对象调用多次。

什么时候定义构造函数呢? 

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

/**
* 构造函数的演示
*
*/ class Person
{
private String name;
private int age; Person()
{
System.out.println("A: name="+name+",age="+age);
} Person(String name)
{
this.name=name;
System.out.println("B: name="+name+",age="+age);
cry();
} Person(String name,int age)
{
this.name=name;
this.age=age;
System.out.println("C: name="+name+",age="+age);
cry();
} public void cry()
{
System.out.println("cry......");
}
} class PersonDemo
{
public static void main(String[] args)
{
Person p1 = new Person();
Person p2 = new Person("lisi");
Person p3 = new Person("lisi",10);
}
}

构造代码块:

格式:

{

...............

}

构造代码块作用:

第一,可以对成员变量进行初始化

第二,通常情况下默认的无参数的构造代码块是创建对象必须使用的。

第三,可以对创建对象提供多种方式,即构造函数重载

构造代码块特点:对象一建立就运行,而且优先于构造函数执行。

构造代码块和构造函数的区别: 

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

构造代码快中定义的是不同对象共性的初始化内容。

------- android培训java培训、期待与您交流! ----------

黑马程序员——JAVA基础之构造函数,构造代码块的更多相关文章

  1. 黑马程序员Java基础班+就业班课程笔记全发布(持续更新)

    正在黑马学习,整理了一些课程知识点和比较重要的内容分享给大家,也是给自己拓宽一些视野,仅供大家交流学习,大家有什么更好的内容可以发给我 ,现有黑马教程2000G  QQ 1481135711 这是我总 ...

  2. 黑马程序员----java基础笔记中(毕向东)

    <p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...

  3. 黑马程序员----java基础笔记上(毕向东)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...

  4. 黑马程序员——JAVA基础之异常处理机制

    ------- android培训.java培训.期待与您交流! ---------- 异常:就是程序在运行时出现不正常情况. 异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式 ...

  5. 黑马程序员 Java基础<九>---> 多线程

    ASP.Net+Android+IOS开发..Net培训.期待与您交流! 多线程 一.概述: 1.线程是什么 说到线程,我们就得先说说进程.所谓进程,就是一个正在执行(进行)中的程序,每一个进程执行都 ...

  6. 黑马程序员——JAVA基础之泛型和通配符

    ------- android培训.java培训.期待与您交流! ---------- 泛型:            JDK1.5版本以后出现新特性.用于解决安全问题,是一个类型安全机制. 泛型好处: ...

  7. 黑马程序员——JAVA基础之多线程的安全问题

    ------- android培训.java培训.期待与您交流! ---------- 导致多线程出现问题的一个特殊的状态:就绪.具备了执行资格,但是还没有获取资源. 导致安全问题的出现的原因: 1. ...

  8. 黑马程序员——JAVA基础之主函数main和静态static,静态代码块

    ------- android培训.java培训.期待与您交流! ---------- 主函数:是一个特殊的函数.作为程序的入口,可以被jvm调用. 主函数的定义: public:代表着该函数访问权限 ...

  9. 黑马程序员——JAVA基础之简述面向对象,类,变量,匿名对象

    ------- android培训.java培训.期待与您交流! ---------- 面向对象: 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程 强调的是功能行为 面向对象 将 ...

随机推荐

  1. [Unity3D]调用Android接口

    简介 有一些手机功能,Unity没有提供相应的接口,例如震动,例如不锁屏,例如GPS,例如... 有太多的特殊功能Unity都没有提供接口,这时候,我们就需要通过使用Android原生的ADT编辑器去 ...

  2. memcpy的用法及实现

    memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中,返回dest所指内存地址的起始位置. #include <string.h&g ...

  3. android onclick onLongClick ontouch dispatchTouchEvent onInterceptTouchEvent

    android onclick onLongClick ontouch dispatchTouchEvent onInterceptTouchEvent 按ACTION_DOWN -> onLo ...

  4. hdu 2078

    ps:超水题....(a+b)^2>=a^2+b^2...刚开始还想了好久...真佩服自己.. #include "stdio.h" #define min1(a,b) a& ...

  5. Ubuntu安装samba的问题

    问题: root@ubuntu:~# apt-get install samba 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装.如果 ...

  6. UI基础:UITableView的编辑和移动

    相对UITableViiew进行编辑,必须设置代理,让代理遵循UITableViewDataSource和UITableViewDelegate协议.因为需要代理实现协议中几个必须的方法. UITab ...

  7. 当前页面js代码

    <script type="text/javascript"> var url = location.href; $(function(){ var url = loc ...

  8. 使用Office 365 试用账户 体验Office 365功能

    首先,需要申请Office 365 Enterprise E3版本的试用账户. 在浏览器中,输入以下地址,然后回车: http://products.office.com/en-us/business ...

  9. UI Automation 简介

    转载,源地址: http://blog.csdn.net/ffeiffei/article/details/6637418 MS UI Automation(Microsoft User Interf ...

  10. centos 输入密码正确进不去系统

    国庆长假之后,上班,第一件事就是连接开发服务器进行开发,结果发现死活进不去系统.一开始以为是用户名和密码错误,后来发现怎么输入都是进不去系统,密码输入是肯定正确的. google了一下,发现有人说是密 ...