- 浏览: 31976 次
- 性别:
最新评论
---------------------- android培训、java培训、期待与您交流! ----------------------
黑马程序员-构造函数应用方法
构造函数
构造函数的作用:
用于给给定对象初始化。
用法:
在分析事物时,该事物存在具备一些特性或行为,那么将内容定义为构造函数。
class Zi
{
Zi()
{
System.out.println("Zi run");
}
}
构造函数的特点:
1.函数名与类名相同。
2.不可以定义返回值类型。
3.不可以写return语句。
构造函数与一般函数的区别:
1.构造函数和一般函数在写法上不同。
2.构造函数和一般函数在运行上不同。
构造函数是在对象已建立就运行,给对象初始化,而一般函数是对象调用才执行,是给对象添加对象具备的功能的。
一个对象建立,构造函数只运行一次,而一般方法可以被对象调用多次。
构造代码快
作用:
用于对对象初始化。
写法:
用单独的花括号块表示。
{
System.out.println("Zi run");
}
特点:
对象一建立就运行,而且优先于构造函数执行。
与构造函数的区别:
构造代码块是给所有的对象进行同意的初始化。
而构造函数是给对应的对象初始化。
子父类中构造函数的特点
当对子类对象进行初始化时,父类的构造函数也运行,那是因为子类的构造函数默认第一行有一条隐式语句:super();会访问父类中空参数的构造函数,而且子类中所有的构造函数第一行都有super();
那么为什么一定要访问父类的构造函数呢,那是因为父类中的数据子类可以直接访问,所以子类建立对象时,需要先查看父类是如何进行初始化的,所以先要访问父类。
如果需要访问父类中指定的构造函数,可以进行手动定义super()进行指定。
当父类中没有空参数的构造函数时,子类必须手动设置super()。
子类中至少有一个构造函数访问父类构造函数,也可以手动指定访问本类中构造函数,使用this()。
class Fu //extends Object
{
Fu()
{
//super();
System.out.println("fu run");
}
}
class Zi extends Fu
{
Zi()
{
//super();
System.out.println("Zi run");
}
}
class Demo
{
public static void main(String[] args)
{
Zi z = new Zi();
}
}
子类的实例化过程:
子类的所有构造函数默认都会访问父类中空参数构造函数。
因为子类每一个构造函数内的第一行都有一句隐式super();
当父类中没有空参数构造函数时,子类必须手动通过super()语句形式来指定要访问父类中构造函数。
当然:子类的构造函数第一行也可以手动指定this语句来访问本类中的构造函数。
子类中至少会有一个构造函数访问父类中构造函数。
---------------------- android培训、java培训、期待与您交流! ----------------------
发表评论
-
正则表达式
2013-02-18 22:45 699正则表达式 正则表达 ... -
网络编程TCP传输
2013-02-18 22:37 604TCP传输 TCP传输 ... -
网络编程UDP
2013-02-18 22:31 612网络编程U ... -
黑马程序员-GUI图形用户界面1
2013-02-17 22:49 597---------------------- an ... -
黑马程序员-API中的其他常用类
2013-02-17 22:41 587---------------------- an ... -
黑马程序员-IO_其他常用流对象
2013-02-17 22:32 695---------------------- an ... -
黑马程序员-IO_字符编码
2013-02-17 22:22 634---------------------- andr ... -
黑马程序员-IO_File类
2013-02-16 23:03 604---------------------- and ... -
黑马程序员-IO-流应用规律
2013-02-16 22:34 563---------------------- andr ... -
黑马程序员-IO_字节流应用
2013-02-16 21:03 782---------------------- andr ... -
黑马程序员-IO_字符流缓冲区
2013-02-16 20:38 722---------------------- an ... -
黑马程序员-IO_字符流和字节流
2013-02-16 20:29 751---------------------- ... -
黑马程序员-集合工具类
2013-02-10 20:29 701---------------------- andr ... -
黑马程序员-泛型
2013-02-10 19:47 687---------------------- an ... -
黑马程序员-集合3-Map集合
2013-02-10 19:16 592---------------------- an ... -
黑马程序员-集合2-Set集合
2013-02-01 22:58 544---------------------- an ... -
黑马程序员-集合1-List集合
2013-02-01 22:41 695---------------------- andr ... -
黑马程序员-对象包装类
2013-02-01 22:26 766---------------------- a ... -
黑马程序员-字符串缓冲区
2013-02-01 22:11 623---------------------- and ... -
黑马程序员-String类
2013-01-30 22:49 546---------------------- andr ...
相关推荐
面向对象-构造函数-调用&内存图解
Vue组件通信eventbus封装-构造函数方式
1. 定义一个学生类Student,包括:属性学号,姓名,性别,年龄,方法包括构造方法初始化变量;显示学号方法、显示姓名方法、显示性别方法、显示年龄方法、修改年龄方法。 2. 定义一个测试类StudentTest创建两个学生...
【IT十八掌徐培成】Java基础第04天-05.构造代码块-构造函数-javabean-pojo.zip
【IT十八掌徐培成】Java基础第05天-01.回顾OOP-构造函数.zip
构造函数 this 指向:1 构造函数 this 指的是对象实例2 原型对象函数里面也 this 也是指向实例对象// 构造函数function Student
定义学生类,构造函数 foreach循环计算学生的平均分
C#应用程序开发
天轰穿系列教程之-16利用构造函数初始化对象天轰穿系列教程之-16利用构造函数初始化对象天轰穿系列教程之-16利用构造函数初始化对象天轰穿系列教程之-16利用构造函数初始化对象天轰穿系列教程之-16利用构造函数初始...
详细介绍了构造函数、复制构造函数、拷贝构造函数之间的区别
构造函数是一个与类同名的方法,可以没有参数,有一个参数或多个参数,但是构造函数没有返回值。如果构造函数没有参数,该函数被称为类的默认构造函数。 (1) 一个类可以包含多个构造函数,各个构造函数之间通过...
构造函数与默认构造函数的声明、定义、应用、比较
构建一个类Point,它提供两个公有的构造函数,一个没有参数的Point构造函数和一个有两个double参数的构造函数。另外在该类中提供一个静态方法计算两个点的直线距离,传入参数为两个Point类实例。然后设计一个测试类...
问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。 2. 从使用角度,虚函数主要用于在信息不全的情况下,能使...
黑马程序员《Python快速编程入门》习题答案与分析 希望能帮助到同学们
拷贝构造函数的语法非常简单,只需要在类定义中添加一个特殊的方法即可。下面是一个示例: ``` class MyClass: def __init__(self, value): self.value = value def __copy__(self): new_object = MyClass(self....
c#析构构造函数c#析构构造函数c#析构构造函数c#析构构造函数
本程序包含构造函数和析构函数,可以把构造函数和析构函数的作用区分开
Swift-init构造函数