当前位置: 首页 > news >正文

秦皇岛北京网站建设免费有效的推广网站

秦皇岛北京网站建设,免费有效的推广网站,揭阳商城网站建设,做企业网站公司目录 一、如何初始化对象 二、构造方法 1.概念 2.特性 三、默认初始化 四、就地初始化 总结 一、如何初始化对象 在Java方法内部定义一个局部变量的时候,我们知道必须要进行初始化。 public class Test4 {public static void main(String[] args) {//未初始化…

目录

一、如何初始化对象

二、构造方法

1.概念

2.特性

三、默认初始化

四、就地初始化

总结


一、如何初始化对象

  在Java方法内部定义一个局部变量的时候,我们知道必须要进行初始化。

public class Test4 {public static void main(String[] args) {//未初始化的变量nint n;System.out.println(n);//尚未初始化变量n,编译失败}
}

如果要上述代码通过编译,只需要在使用n之前给它一个初始值即可。

如果要是一个对象,则如下面代码,需要调用之前写的SetDate方法才可以将具体的日期设置到对象中。        

class Date{public int year;public int mouth;public int day;public void setDay(int year,int mouth,int day){this.year = year;this.mouth = mouth;this.day = day;}public void printfDate(){System.out.println(year + "年" + mouth + "月" + day + "日");}
}
public static void main(String[] args) {Date d = new Date();d.printDate();d.setDate(2023,3,30);d.printDate();
}
// 代码可以正常通过编译

 但大家发现问题没有:

1.每次对象创建好后调用SetDate方法设置具体日期,比较麻烦,那对象该如何初始化? 

2.  为什么局部变量必须要初始化才能使用,为什么字段声明之后没有给值依然可以使用?

下面为大家解释。


二、构造方法

1.概念

构造方法是一个特殊的成员方法,名字必须与类名相同,在创建对象时,由编译器自动调用,并且在整个对象的生命周期内只调用一次。

构造方法的作用就是对对象中的成员进行初始化,并不负责给对象开辟空间。

public class Date {public int year;public int month;public int day;// 构造方法:// 名字与类名相同,没有返回值类型,设置为void也不行// 一般情况下使用public修饰// 在创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次public Date(int year, int month, int day){this.year = year;this.month = month;this.day = day;System.out.println("Date(int,int,int)方法被调用了");}public void printDate(){System.out.println(year + "-" + month + "-" + day);}public static void main(String[] args) {// 此处创建了一个Date类型的对象,并没有显式调用构造方法Date d = new Date(2021,6,9);  // 输出Date(int,int,int)方法被调用了d.printDate();   // 2021-6-9}
}

2.特性

1. 名字必须与类名相同
2. 没有返回值类型,设置为void也不行
3. 创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次
4. 构造方法可以重载(用户根据自己的需求提供不同参数的构造方法)

public class Date {public int year;public int month;public int day;// 无参构造方法public Date(){this.year = 1900;this.month = 1;this.day = 1;}// 带有三个参数的构造方法public Date(int year, int month, int day) {this.year = year;this.month = month;this.day = day;}public void printDate(){System.out.println(year + "-" + month + "-" + day);}public static void main(String[] args) {Date d = new Date();d.printDate();}
}

上述两个构造方法:名字相同,参数列表不同,因此构成了方法重载。

注意:

  • 类中没有定义任何构造方法,编译器会默认生成一个不带参数的构造方法。
  •  构造方法中,可以通过this调用其他构造方法来简化代码

三、默认初始化

在上文中提出的第二个问题:为什么局部变量在使用时必须要初始化,而成员变量可以不用呢?

这是因为关键词new,当你new出一个对象的时候,在程序层面只是一条简单的语句,而在JVM层面会发生很多的事情,例如:

1. 检测对象对应的类是否加载了,如果没有加载则加载
2. 为对象分配内存空间
3. 处理并发安全问题
4. 初始化所分配的空间

        即:对象空间被申请好之后,对象中包含的成员已经设置好了初始值,比如:

数据类型默认值    
byte0
int 0
double0.0
char'\u0000'   
short0
long0L
booleanfalse
float0.0f
reference null

5. 设置对象头信息

6. 调用构造方法,给对象中各个成员赋值

四、就地初始化

  在声明成员变量时,就直接给出了初始值。

public class Date {public int year = 1900;public int month = 1;public int day = 1;public Date(){}public Date(int year, int month, int day) {}public static void main(String[] args) {Date d1 = new Date(2021,6,9);Date d2 = new Date();}
}

总结

  为大家带来对象的构造及初始化的小文,希望能够帮助大家!           

http://www.tj-hxxt.cn/news/3704.html

相关文章:

  • 怎么创建免费的个人网站国家市场监督管理总局
  • b2b b2c 网站建设百度热词指数
  • 网站建设需要编程吗百度推广怎么弄
  • 建筑网课平台百度seo查询系统
  • wordpress page页面id数字营销服务商seo
  • 河北建设工程网站深圳seo优化服务商
  • 西班牙语网站建设城关网站seo
  • 帮传销做网站如何进行网站的宣传和推广
  • 如何给自己网站做外链排名seo公司哪家好
  • 关键词挖掘工具有哪些重庆seo是什么
  • 网站挂标 怎么做网址大全浏览器主页
  • 南京开发门户网站的公司chatgpt 网站
  • 做酒店网站的公司百度关键词屏蔽
  • vs2013网站开发代码香港疫情最新情况
  • 做旅游那些网站好免费自助建站
  • 网站推广服务chuseotrinseo公司
  • 做电视网站需要多大的服务器百度快速收录提交工具
  • 推广网站刷排名网络营销方法有哪些举例
  • ASP.NET与网站开发实践教程徐州seo排名收费
  • 做网站赔钱了建立一个企业网站需要多少钱
  • 网站怎么做一级域名跳转关键词优化排名网站
  • 有网站怎么做淘宝客百度seo策略
  • 网站建设简单合同模板下载百度搜索引擎排行榜
  • 屏蔽网页 的网站备案2024年2月新冠疫情又开始了吗
  • 网站常州建设农产品网络营销
  • 广东网站建设公司报价培训平台
  • 中国怎么进fiverr网站做任务广告公司名字
  • 镇海做网站西安网络推广公司大全
  • 邯郸哪里可以做网站厦门seo网络推广
  • 北京的广告公司网站建设seo搜索引擎优化入门