关于final关键字

zpk1234 2009-03-11 03:10:21
用final修饰的函数和类 表示 不可以被继承,

class CDerived
{
public final int GetNum() //这里的final表示这个函数不可以被继承,而不是像C++
//中表示这个函数不可以修改this指针
{
m_nNum = 2;//编译通过,
return m_nNum;
}
protected int m_nNum;
}


这里有一个疑问,如果一个函数返回的是一个常量,该怎么声明函数
由于本人是刚刚从C++转到Java,所以会有这个疑问,请指教!
...全文
188 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hozenplotz 2009-03-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 zpk1234 的帖子:]
用final修饰的函数和类 表示 不可以被继承,

Java code
class CDerived
{
public final int GetNum() //这里的final表示这个函数不可以被继承,而不是像C++
//中表示这个函数不可以修改this指针
{
m_nNum = 2;//编译通过,
return m_nNum;
}
protected int m_nNum;
}




这里有一个疑问,如果一个函数返回的是一个常量,该怎么声明函数
由于本人是刚刚从C++转到Java,所…
[/Quote]
貌似只能在方法上声明常量的类型吧,不能直接声明返回常量
kome2000 2009-03-11
  • 打赏
  • 举报
回复
class CDerived
{
public final int m_nNum = 2;
public final int GetNum()
{
return m_nNum;
}
}
这样就OK 拉!
wangjiwei8712 2009-03-11
  • 打赏
  • 举报
回复
final修饰的常量只能在声明的时候初始化或在构造函数里初始化,如果返回常量,那他必须先初始化。
ironox 2009-03-11
  • 打赏
  • 举报
回复

java没这个说法了吧

忘掉const
kf156 2009-03-11
  • 打赏
  • 举报
回复
public final int GetNum(){
return 0;//直接返回你想返回的常量就行了。
}

13,097

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧