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

南京网站搭建公司微信网站如何制作软件

南京网站搭建公司,微信网站如何制作软件,wordpress获取文章二级菜单,2015年做啥网站致富hello!这里是敲代码的小董,很荣幸您阅读此文,本文只是自己在学习JAVA过程中的笔记,如有不足,期待您的评论指点和关注,欢迎欢迎~~ ✨✨个人主页:敲代码的小董 💗💗系列专栏…

         hello!这里是敲代码的小董,很荣幸您阅读此文,本文只是自己在学习JAVA过程中的笔记,如有不足,期待您的评论指点和关注,欢迎欢迎~~

✨✨个人主页:敲代码的小董

💗💗系列专栏:JAVA

目录

5. 对象的构造及初始化

5.1 如何初始化对象

5.2 构造方法

5.2.1 概念

5.2.2 特性

5.3 默认初始化

5.4 就地初始化


上一节:七. JAVA类和对象(一)

5. 对象的构造及初始化

5.1 如何初始化对象

        通过前面知识点的学习知道,在Java方法内部定义一个局部变量时,必须要初始化,否则会编译失败。

public static void main(String[] args) {int a;System.out.println(a);
}
// Error:(26, 28) java: 可能尚未初始化变量a

        要让上述代码通过编译,非常简单,只需在正式使用a之前,给a设置一个初始值即可。如果是对象: 

public static void main(String[] args) {Date d = new Date();d.printDate();d.setDate(2021,6,9);d.printDate();
}
// 代码可以正常通过编译

需要调用之前写的SetDate方法才可以将具体的日期设置到对象中。

通过上述例子发现两个问题:
1. 每次对象创建好后调用SetDate方法设置具体日期,比较麻烦,那对象该如何初始化?
2. 局部变量必须要初始化才能使用,为什么字段声明之后没有给值依然可以使用?

        对象初始化是为新建对象分配内存空间并设置初始值的过程。在面向对象编程中,正确的初始化是保证对象状态有效性的关键。

常见的初始化方式包括:

  • 构造方法初始化
  • 默认初始化
  • 声明时初始化(就地初始化)
// 示例:三种初始化方式的综合体现
public class Smartphone {private String brand;      // 默认初始化为nullprivate int storage = 128; // 就地初始化private double price;// 构造方法初始化public Smartphone(String brand, double price) {this.brand = brand;this.price = price;}
}

5.2 构造方法

5.2.1 概念

构造方法是类中用于初始化对象的特殊方法,具有以下特征:

  • 方法名与类名完全相同
  • 没有返回类型(包括void)
  • 在对象创建时自动调用
  • 可以重载(多个参数列表不同的构造方法)
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}
}

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

5.2.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();}
}

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

5. 如果用户没有显式定义,编译器会生成一份默认的构造方法,生成的默认构造方法一定是无参的。

public class Date {public int year;public int month;public int day;public void printDate(){System.out.println(year + "-" + month + "-" + day);}public static void main(String[] args) {Date d = new Date();d.printDate();}
}

        上述Date类中,没有定义任何构造方法,编译器会默认生成一个不带参数的构造方法。 

注意:一旦用户定义,编译器则不再生成。 

6. 构造方法中,可以通过this调用其他构造方法来简化代码 

注意:

  • this(...)必须是构造方法中第一条语句。
  • 不能形成环。

7. 绝大多数情况下使用public来修饰,特殊场景下会被private修饰(单例模式) 

5.3 默认初始化

为什么局部变量在使用时必须要初始化,而成员变量可以不用呢?

 局部变量未初始化:

成员变量未初始化:

当成员变量未显式初始化时,Java会根据数据类型自动进行默认初始化:

5.4 就地初始化

在声明成员变量时直接赋值,这种初始化方式:

  • 在构造方法执行前完成
  • 适合固定初始值的场景
  • 可以结合构造方法混合使用
public class Student {// 就地初始化private String school = "清华大学";private final int MAX_COURSES = 6; // 常量初始化private String name;private List<String> courses = new ArrayList<>(); // 复杂类型初始化public Student(String name) {this.name = name;}public void addCourse(String course) {if(courses.size() < MAX_COURSES) {courses.add(course);}}// 使用示例public static void main(String[] args) {Student stu = new Student("王小明");stu.addCourse("计算机组成原理");System.out.println("所属院校:" + stu.school); // 输出清华大学}
}
http://www.dtcms.com/a/560430.html

相关文章:

  • 河南网站建设服务公司seowhy问答
  • 电商网站建设如何23456网址大全
  • 科技馆优化是企业通过网站来做吗
  • 成都彩票网站开发怎么在百度打广告
  • 孝感做网站的公司四秒网站建设
  • 个人怎样做网站建筑工找活哪个平台好
  • 可以做样机图的网站泉州建设部网站
  • 电商网站前后台模板常州本地做网站的大公司
  • 做网站是不是涉及很多语言职建设工程和工程建设
  • 医疗教育的网站建设网络推广怎么做好
  • 做亚马逊一年赚了60万深圳seo优化公司
  • 备案的网站名称能重复备案吗美团网站建设总体需求与目标
  • 网站建设类织梦模板蕲春住房和城乡建设局网站
  • seo网站优化凡科邮箱
  • 高端顺口公司名字seo服务公司怎么收费
  • 2019做seo网站微信公众平台运营
  • 制作微信公众号的网站跨境电商怎么做?如何从零开始学做电商赚钱
  • 福田响应式网站建设服务网页游戏网站手机
  • 厦门微网站建设公司哪家好腾讯网站认证
  • 简述网站建设的基本过程上海网络推广团队
  • 咋做抽奖网站wordpress框架简介
  • 做电商的几个网站吗被墙网站查询
  • 随州网站建设全包梅县区住房和城乡规划建设局网站
  • 最好的响应式网站有哪些全国互联网备案信息查询系统
  • 原阳网站建设如何让网站自适应
  • 手机网站策划ps网站如何做烫金的文字
  • 廊坊网站建设品牌qq群排名优化软件购买
  • 海宁市建设局官方网站网站页面设计公司电话
  • 站长之家ping检测分类模板wordpress
  • 创建网站的向导和模板服装网站建设论文范文