构造函数及关键字

原创 2016年06月01日 17:22:23

构造函数

特点:

1.函数名与类名相同

2.不需要定义返回值类型

3.不可以写return语句

作用:

给对象进行初始化

运行特点:

对象一建立,就会调用与之对应的构造函数,但是只调用一次。

注意:

1.只要是用class定义的类中,都会有一个默认的空参数构造函数。

2.当在类中自定义了构造函数后,默认的构造函数就消失了。

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

构造函数一建立就会运行,而一般方法,需要被对象调用才会被执行;一般方法可以多次被调用。

什么时候用:

在描述事务时,该事务一出现就具备了一些属性和行为,那么这些内容就要定义在构造函数中。

说明:

构造函数多个时,在类中是重载形式体现的。

构造函数之间调用:

只能通过this语句形式完成,而且该语句只能放在第一行。

class person{

private String name;

private int age;

Person(String name){

this(name,0);

}

Person(String name,int age){

this.name = name;

this.age = age;

}

}

 

this关键字:

this代表本类对象的引用。

this代表哪个对象:哪个对象调用this所在函数,this就指向哪个函数。

this.name:对象中的namename是成员变量

作用:

1.用于区分局部变量和成员变量同名的情况。

2.用于构造函数间调用。

什么时候使用this

当定义功能(函数)时,如果该功能函数的内表又用到了本类对象。这时就用this表示这个对象。

构造函数之间调用使用this语句:

注意:this语句只能放在构造函数的第一行。

因为初始化动作一定要先执行。

 

static关键字:

static:静态修饰符。

用于修饰类中的成员变量,或者成员函数。

特点:

1.被修饰的成员除了能被对象调用外,还可以被类名所调用。

2.被静态修饰的内容被对象所共享。

3.static随着类的加载而加载,随着类的消失而消失。也就是static的生命周期最长。

4.优先于对象存在。

5.被所有对象共享。

使用注意事项:

1.静态方法只能访问静态成员。

2.静态方法中不可以编写thissuper关键字。

3.主函数是静态的。

静态代码块:

static

{

 

}

随着类的加载而执行,优先于主函数(主函数类中)而且只执行一次。

作用:

可以对类进行初始化。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

构造函数和const关键字

C++中const主要存在的三个位置 const int func(const int a) const 1)const 返回值:修饰返回值是一个常量(只读,不能更改) 2)const 形...

C++11模板句柄的实现:委派构造函数、default关键字分析

C++11,使用委派构造函数,并且快速初始化变量,default关键字重声明默认构造函数,回复pod状态。分析与推荐用法。 目前为止,VS2012和2013对异常声明的兼容还是停留在代码沟通的级别,...

第7天 构造函数、this关键字、静态修饰符static

构造函数的作用:给对应的对象进行初始化 构造函数定义的格式 修饰符 函数名(形式参数){ 函数体... }

java构造函数以及static关键字

关于java构造器 原本无显示编码构造器,则有一个默认的隐式(隐藏的无参构造器),但是,当显示指定了构造器,则这个默认隐式的构造器将不存在,比如此时无法new无参的构造器(除非显示地编写声明无参的构造...

构造函数,this关键字

构造函数 特点: 1,函数名与类名相同 2,不用定义返回值类型 3,不可以写return语句 作用: 给对象进行初始化。 注意: 1,默认构造函数的特点 ...

C++修饰构造函数的explicit关键字

C++ explicit关键字的作用主要是用来修饰类的构造函数,表明该构造函数是显式的,禁止单参数构造函数的隐式转换。 如果C++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作...

C++中构造函数前面的explicit关键字

explicit   只对构造函数起作用,用来抑制隐式转换。 按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:...

构造函数自动转换与explicit关键字

在类中有一个整型的数据成员,程序中需要实现一个整数直接赋值为一个类对象,赋值结果是该类对象的被赋值成员值为赋值的整数。 但是在默认情况下是不能通过编译的,因为不允许类与整数进行复制运算。 如果...

黑马程序员——学习日志4面向对象(概念,类与对象,封装,构造函数,this关键字)

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

Java基础——面向对象+(匿名)对象+封装(修饰符权限)+变量+构造函数+This关键字

1.   面向对象 面向对象与面向过程的不同 面向对象:是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 面向过程:分析出解决问题...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)