性格决定命运,气度影响格局
posts - 20, comments - 18, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

25 java里面怎么定义宏?
  答:java不支持宏,因为宏代换不能保证类型安全。
  如果你需要定义常量,可以将它定义为某个类的static final成员。参见26和30。

26 java里面没法用const。
  答:你可以用final关键字。例如 final int m = 9。被声明为final的变量不能被再次赋值?final也可以用于声明方法或类,被声明为final的方法或类不能被继承 。
  注意const是java的保留字以备扩充。

27 java里面也不能用goto。
  答:甚至在面向过程的语言中你也可以完全不用goto。请检查你的程序流程是否合理。
  如果你需要从多层循环中迅速跳出,java增强了(和C++相比)break和continue的功能,支持label。

  例如:
  outer :
  while( ... )
  {
  inner :
  for( ... )
  {
  ... break inner; ...
  ... continue outer; ...
  }
  }
  和const一样,goto也是java的保留字以备扩充。

28 java里面能不能重载操作符?
  答:不能。String的+号是唯一一个内置的重载操作符。你可以通过定义接口和方法来实现类
  似功能。

29 我new了一个对象,但是没法delete掉它。
  答:java有自动内存回收机制,即所谓Garbarge Collector。你再也不用担心指针错误

30 我想知道为什么main方法必须被声明为public static?
  答:声明为public是为了这个方法可以被外部调用,详情见面向对象篇37。
  static是为了将某个成员变量/方法关联到类(class)而非实例(instance)。
  你不需要创建一个对象就可以直接使用这个类的static成员,
  在A类中调用B类的static成员可以使用B.staticMember的写法。
  注意一个类的static成员变量是唯一的,被所有该类对象所共享的。

31 throw和throws有什么不同?
  答:throws用于声明一个方法会抛出哪些异常。而throw是在方法体中实际执行抛出异常
  的动作。
  如果你在方法中throw一个异常,却没有在方法声明中声明之,编译器会报错。
  注意Error和RuntimeException的子类是例外,无需特别声明。

32 什么是异常?
  答:异常最早在Ada语言中引入,用于在程序中动态处理错误并恢复。
  你可以在方法中拦截底层异常并处理之,也可以抛给更高层的模块去处理。
  你也可以抛出自己的异常指示发生了某些不正常情况。常见的拦截处理代码如下:
  try
  {
  ...... //以下是可能发生异常的代码
  ...... //异常被抛出,执行流程中断并转向拦截代码。
  ......
  }


  catch(Exception1 e) //如果Exception1是Exception2的子类并要做特别处理,应排在
  前面
  {
  //发生Exception1时被该段拦截
  }
  catch(Exception2 e)
  {
  //发生Exception2时被该段拦截
  }
  finally //这是可选的
  {
  //无论异常是否发生,均执行此段代码
  }

33 final和finally有什么不同?
  答:final请见26。finally用于异常机制,参见32。


只有注册用户登录后才能发表评论。


网站导航: