黑马程序员-day05-面向对象(构造函数)
2014-06-08 19:49
176 查看
-------
android培训、java培训、期待与您交流! ----------
构造函数
特点:
(1)函数名与类名相同
(2)不用定义返回值类型
(3)没有具体的返回值。
作用:
给对象进行初始化。
注意:
(1)默认构造函数的特点。
(2)多个构造函数是以重载的形式存在的。
什么时候定义构造函数呢?
当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。
构造函数的小细节:
1.当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。
2.当在类中自定义了构造函数后,默认的构造函数就没有了。
一般函数和构造函数什么区别呢?
(1)写法不同
(2)运行上不同
构造函数是在对象一建立就运行。给对象初始化。
而一般方法是对象调用才执行,给是对象添加对象具备的功能。
(3)运行次数不同
一个对象建立,构造函数只运行一次。
而一般方法可以被该对象调用多次。
构造代码块
作用:
给对象进行初始化。
构造代码块和构造函数的区别
1.构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化。
构造代码快中定义的是不同对象共性的初始化内容。
2.构造代码块对象一建立就运行,而且优先于构造函数执行。
演示代码
运行结果
android培训、java培训、期待与您交流! ----------
构造函数
特点:
(1)函数名与类名相同
(2)不用定义返回值类型
(3)没有具体的返回值。
作用:
给对象进行初始化。
注意:
(1)默认构造函数的特点。
(2)多个构造函数是以重载的形式存在的。
什么时候定义构造函数呢?
当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。
构造函数的小细节:
1.当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。
2.当在类中自定义了构造函数后,默认的构造函数就没有了。
一般函数和构造函数什么区别呢?
(1)写法不同
(2)运行上不同
构造函数是在对象一建立就运行。给对象初始化。
而一般方法是对象调用才执行,给是对象添加对象具备的功能。
(3)运行次数不同
一个对象建立,构造函数只运行一次。
而一般方法可以被该对象调用多次。
构造代码块
作用:
给对象进行初始化。
构造代码块和构造函数的区别
1.构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化。
构造代码快中定义的是不同对象共性的初始化内容。
2.构造代码块对象一建立就运行,而且优先于构造函数执行。
演示代码
/* 需求: 1.演示构造函数和构造代码块。 2.验证构造函数的执行次数。 3.验证构造函数和构造代码块的优先级。 */ class Person{ private String name; private int age; //记录构造函数的执行次数 private static int num1 = 0; //记录一般函数的执行次数 private static int num2 = 0; //构造代码块,初始化不同对象共性的内容。 { //测试构造函数和构造代码块的优先级。 System.out.println("构造代码块自动执行"); } /*当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。 当在类中自定义了构造函数后,默认的构造函数就没有了。 */ //无参构造函数 Person(){ } //有参构造函数,多个构造函数是以重载的形式存在的。 Person(String name, int age){ //对对象进行初始化,当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。 this.name =name; this.age = age; //测试构造函数和构造代码块的优先级,并输出构造函数的执行次数 System.out.println("有参构造函数第" + (++num1) + "次自动执行"); } //一般函数 public void cry(){ //输出一般函数的执行次数 System.out.println("一般函数被第" + (++num2) + "次被调用执行"); } } //测试类 class PersonDemo{ public static void main(String[] args){ System.out.println("创建第一个对象"); //构造函数是在对象一建立就运行,同一个对象只执行一次。 Person p1 = new Person("hxm", 20); //一般方法是对象调用才执行,可以被同一个对象执行多次。 p1.cry(); p1.cry(); System.out.println("创建第二个对象"); Person p2 = new Person("lx", 20); } }
运行结果
相关文章推荐
- 黑马程序员_day05 面向对象(匿名对象,构造函数,this关键字)
- 黑马程序员——学习日志4面向对象(概念,类与对象,封装,构造函数,this关键字)
- 黑马程序员-day05面向对象一
- 黑马程序员-day05-面向对象(封装 Encapsulation)
- 黑马程序员-面向对象(构造函数、构造代码块、静态代码块)
- 黑马程序员-day05-面向对象(this关键字和super关键字)
- 黑马程序员————面向对象(概述,封装,构造函数,this,static)
- 黑马程序员_<<面向对象(对象,封装,satic,构造函数,代码块,this)---01>>
- 黑马程序员——黑马学习日志之五 面向对象,类,函数,匿名对象,封装,构造函数,this,代码块
- 黑马程序员_06_面向对象_成员变量_匿名对象_封装_构造函数_thisPrivate
- 黑马程序员_JAVA笔记05 ——面向对象1(类与对象关系、封装、构造函数、this)
- 黑马程序员 Java面向对象(封装,构造函数,this关键字,静态static)
- 黑马程序员_C#面向对象(值类型和引用类型,构造函数,常量与静态成员,命名空间,索引)
- 黑马程序员--JAVA<面向对象>--构造函数、抽象类、接口、多态
- 黑马程序员 Java基础<一>---> 面向对象与类之概述(匿名对象、封装、构造函数、this、静态等)
- 黑马程序员——面向对象(封装、构造函数、静态)
- 黑马程序员-day05-面向对象(基本概念)
- 黑马程序员——Java基础---面向对象(面向对象,类,对象,匿名对象,封装,构造函数,构造代码块,this,static,main,帮助文档,静态代码块,单例)
- 黑马程序员 JAVA初级-面向对象 匿名对象、封装、构造函数、构造代码块、this
- 黑马程序员_Java基础_面向对象(概述、类与对象关系、成员变量、封装private、构造函数和构造代码块、this关键字)