这一章节我们来讨论一下成员的初始化。

之前已经提到,如果是属性域,编译器会默认初始化,这一章节不再展开,这里我们需要注意的是局部变量。

局部变量必须初始化,不然直接报错。

下面是错误的代码:

package com.ray.ch01;

public class Test {

public static void main(String[] args) {

int i;

i++;

}

}

在i++这里编译器会提示没有初始化变量。

1.指定变量初始化

我们下面给出几种指定初始化的方法。

(1)直接初始化,直接为属性域赋值

package com.ray.ch01;

public class Test {

private int id=0;

}

(2)通过方法返回

package com.ray.ch01;

public class Test {

private int id = initId();

private int initId() {

return 0;

}

}

package com.ray.ch01;

public class Test {

private int id = initId(0);

private int initId(int id) {

return id;

}

}

(3)通过new来初始化

package com.ray.ch01;

public class Test {

private Book book = new Book();

}

class Book {

}

如果不创建book对象就直接使用,在运行时会抛异常。

(4)注意执行顺序,保证作为参数的成员已经初始化

正确的代码:

package com.ray.ch01;

public class Test {

private int id = initId();

private int initId() {

return 0;

}

private String name = initName("name-"+id);

private String initName(String name) {

return name;

}

}

错误的代码:

package com.ray.ch01;

public class Test {

private String name = initName("name-"+id);

private String initName(String name) {

return name;

}

private int id = initId();

private int initId() {

return 0;

}

}

两个代码完全一样,只是调换了一下位置,在错误的代码里面,id就报错,id没有被初始化。

总结:这一章节我们讨论了成员的初始化,特别是局部变量和初始化的几种方法。

这一章节就到这里,谢谢。

-----------------------------------

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

java游戏初始化参数过多,从头认识java-4.6 成员的初始化相关推荐

  1. C++笔记之结构体内对vector初始化,一般初始化,和类内私有vector类型成员变量初始化

    C++笔记之结构体内对vector初始化,一般初始化,和类内私有vector类型成员变量初始化 文章目录 C++笔记之结构体内对vector初始化,一般初始化,和类内私有vector类型成员变量初始化 ...

  2. java游戏服务器的开发和维护,java游戏服务器开发

    java游戏服务器开发 内容精选 换一换 开发者基于Atlas 200 DK进行AI应用开发前,需要在制作SD卡时准备的Ubuntu服务器中部署开发环境,有以下两种场景:部署MindStudio,基于 ...

  3. java游戏开始被流星_用 JAVA 开发游戏连连看(之一)动手前的准备

    JAVA ,相信大家也不会陌生了吧, JAVA 是一门相当优秀的语言.目前 JAVA 领域 J2EE . JSP . STRUTS 等技术不知有多么的热门,他们的主要用途是用来进行企业开发, J2ME ...

  4. 无比乐java游戏_传智播客Java JavaEE+物联网云计算 就业班

    课程主要内容: xml&dom_sax_dom4j编程(梁桐) java基础加强(增强for循环.可变参数.枚举.装箱拆箱.静态引用.注解.类反射[通过构造器实例化对象].泛型的定义与使用)( ...

  5. java 内存分配参数_浅谈JAVA内存分配与参数传递

    java中方法的参数传递方式只有一种:值传递. java内存分配: 1.栈:存放 基本类型的数据.对象的引用(类似于c语言中的指针) 2.堆:存放用new产生的数据 3.静态域:存放在对象中用stat ...

  6. Java游戏用户登录注册_用java类模拟游戏的账号的登陆,注册,退出。 1.没有账号,需要注册。 2.注册完成后方可登...

    展开全部 /** 需求:奖客富翁游戏.62616964757a686964616fe4b893e5b19e31333337386564 菜单为: 1.注册用户信息.填写用户名,密码,电脑随机输出一个4 ...

  7. java 方法当参数_如何在Java中将函数作为参数传递?

    如何在Java中将函数作为参数传递? 这个问题在这里已有答案: Java Pass方法作为参数                                     14个答案 是否可以将方法作为参 ...

  8. java 不定长参数_简单介绍Java的不定长度参数

    本文版权归作者所有,仅供用来网上学习来用,读者可以收藏,请不要下载到本机和重新发布到其它网站 先看两个简单的例子,来感受一下Java的不定长度参数 第一个例子: public class VariAr ...

  9. java 方法 多参数_需要在Java方法中传递多个(20+)参数。这样做有效吗?

    我在Java类中有多个方法,其中每个方法都有20多个参数.我将在另一个类中为这个类创建一个对象并调用每个方法.通常我在Selenium Java中使用POM(页面对象模型). 所以在每个Page对象类 ...

最新文章

  1. 构建自己的PHP框架--构建缓存组件(1)
  2. 兼容IE和FF的js脚本做法(比较常用)[问题点数:20分]
  3. DHCP***的防御处理总结
  4. iOS下载大文件原理解析一
  5. JavaScript中的两个等号(==)和三个等号(===)
  6. MOQL—筛选器(Selector)(二)
  7. 什么是共享读锁和排他写锁?
  8. SCI期刊分区-JCR分区 中科院分区
  9. 用python写问答机器人_机器人之Python入门到实践-问答机器人
  10. 力度更大的当当购书优惠来了!实付满200-50!
  11. 腾飞之势,搏击苍穹:网页设计
  12. 人生苦短,你一定要成为你自已想成为的那个人
  13. 从金蝶云星空到旺店通·旗舰奇门通过接口配置打通数据
  14. IM互通新方案-GTalk to VoIP回拨服务
  15. 详解Android Selinux 权限及问题
  16. 阿迪、耐克过去式,李宁、安踏、特步现在时
  17. Greenplum数据库中master节点恢复
  18. 数学:SVM(2)点到直线距离
  19. Kali WIndows 漏洞利用基础篇 (探索目标主机漏洞)
  20. 来到新公司感想与学习。

热门文章

  1. OpenGL第六节:加载png图片
  2. ASP.NET 实现上传EXCEL,利用NOPI操作,转换得到DataTable
  3. BZOJ 1037 [ZJOI2008]生日聚会Party(单调DP)
  4. 关于Object[]数组强转成Integer[]类型的数组.
  5. vimnbsp;自动识别UTF8和GB2312
  6. 进程/线程同步的方式和机制,进程间通信
  7. [转载] Python学习(五)Numpy通用函数汇总
  8. FPGA芯片手册阅读技巧
  9. day006bootstrap的简单学习 + 轮播图
  10. GIT 查看/修改用户名和邮箱地址