Java 构造方法

构造方法

什么是构造方法:

构造方法就是与类同名的那个方法且没有返回值。就是一个方法。

有什么作用:

就是初始化对象的成员变量,无参的构造方法,系统自动初始化。有参则根据你的要求初始化

不同的类型,默认值如下:

实例成员变量默认值:
boolean:false
byte:0
short:0
char:
int:0
long:0
float:0.0
double:0.0
String:null
String[]:null
静态成员变量默认值:
boolean:false
byte:0
short:0
char:
int:0
long:0
float:0.0
double:0.0
String:null
String[]:null

什么时候用到:

new 一个对象时一定会执行构造函数,调用有参构造函数和无参构造函数需要看你new的对象的参数。

如果你自己构建了一个带有参数的构造函数而没有再显示的写出无参的构造函数也是可以的,不过当你尝试通过一个无参的构造函数来构建(new)时,此时编译器才会报错,因为找不到这个无参的构造函数。也就是说当一个类你没有给他构造函数,则编译器会自动补上一个无参的,若有的话就不会,你需要显示将此无参的构造函数写出来。

构造方法用于初始化一个实例对象,所以static修饰是没有任何意义的;多个线程不会同时创建内存地址相同的同一个对象,所以synchronized修饰没有意义;
构造方法不能被子类继承,所以final和abstract修饰没有意义。

构造方法和普通方法的区别:

构造方法是一种特殊的方法,与一般的方法不同是:
1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。
2.构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。
3.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java第二次作业

(一)学习总结1.什么是构造方法?什么是构造方法的重载?下面的程序是否可以通过编译?为什么?(1)在对面向对象程序中构造方法的主要作用是为类中的属性初始化。在构造方法中要注意以下几点①构造方法的名称必须与类名称一致②构造方法的声明处不能有任何返回值类型的说明③不能在构造方法中使用return返回一个值(2)构造方法的重载就

java构造方法

1.构造方法(函数)就是用来构造对象的方法,分为有参和无参两个类型。例如下面例子a.HellohellonewHello(); b.HellohellonewHello(Stringname); a是一个无参的构造方法,b是传入一个参数是string的构造方法。两者都是用来实例化对象。实例化对象的格式可以是:Class

Java类和对象

一、类类是封装对象的属性和行为的载体,在Java语言中对象的属性以成员变量的形式存在,而对象的方法以成员方法的形式存在。1\.类的构造方法构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的,构造方法分为有参构造方法和无参构造方法,区别就在于有没有参数。说这么多概念是不是感觉有点麻木,直接看下面的例子吧。pub

Java 构造方法 - HelloWorld