`
jiao13953900900
  • 浏览: 31976 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

黑马程序员-构造函数应用方法

    博客分类:
  • java
 
阅读更多

 

---------------------- 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培训、期待与您交流! ----------------------

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics