A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘 佳 中级黑马   /  2012-9-13 23:08  /  1664 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘 佳 于 2012-9-14 01:17 编辑

看到视频第五天第七小节。讲到面向对象(封装private)。里面老师举例一段代码。以前学习是变量得赋值,但这段代码只写了 int x;  然后后面又讲了有个初始化值。到底怎么个意思,可不可以这样定义,求解。

评分

参与人数 1技术分 +1 收起 理由
创出一片辉煌 + 1 加油! 鼓励一下!

查看全部评分

6 个回复

倒序浏览
方法中的变量需要赋初值,否则值是一个不确定的数。
但是类中的成员变量可以不赋初值,因为虚拟机会自动帮它初始化成默认值。
int类型是0,boolean类型是false,引用类型是null,等等。
回复 使用道具 举报
如果没有调用到这个变量,这样定义是不会报错的。
回复 使用道具 举报
成员变量基本数据类型只要建立了都有默认值,而引用型,也就是类的实体对象,其实建立一个存放类实体对象内存地址的一个区域,默认里面就是空
回复 使用道具 举报
孙含庆 来自手机 中级黑马 2012-9-13 23:24:11
报纸
类成员位置的变量可以只定义,不进行初始化赋值,因为系统会给默认值,我们可以在调用这个变量时再初始化并赋值。
回复 使用道具 举报

  1. public class  Test
  2. {
  3.         static int x;//成员变量
  4.         static boolean boo;//成员变量
  5.         static String str;//成员变量
  6.         public static void main(String[] args) {
  7.                 System.out.println(x);//打印结果为0
  8.                 System.out.println(boo);//结果为false
  9.                 System.out.println(str);//结果为null
  10.                
  11.                 int i;
  12.                 System.out.println(i);//编译失败
  13.                
  14.         }
  15. }
复制代码
成员变量有默认初始化值,而局部变量需要先初始化,后使用
回复 使用道具 举报
如果你定义的是类的属性也就是成员变量是可以不赋初始值,但如果你在方法中定义了一个变量,那就需要赋值,否则会编译失败
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马