当前位置:  技术问答>java相关

final不是不能重栽吗?

    来源: 互联网  发布时间:2015-11-13

    本文导语:  package client; import server.ServerNames; class Retrieve extends ServerNames { public final int MAXCONECTIONS=MAXUSERS*10; public static String sendName(String s) { return s; } } package server; public class ServerNames { protected final int MAXUSERS=20; public...

package client;
import server.ServerNames;
class Retrieve extends ServerNames
{
public final int MAXCONECTIONS=MAXUSERS*10;
public static String sendName(String s)
{ return s; }
}


package server;
public class ServerNames
{
protected final int MAXUSERS=20;
public final static String sendName()
{
return "Main Server";
}
}


上 面的为什么能正常运行???

|
Retrieve里面的sendName不是overriding而是overloading

|
这是2个不同的函数啊。如果参数一样就不行了。确切来说可能应该说成不能重写好些。

最本质的final就是说明用它声明的是唯一的,是不变的。当然你可以
final int a;然后在构造器里赋值的,但是后面就不能再改变了。
这个的理解,只需要注意在java中声明是声明,赋值是赋值就容易理解了。
比如int a=10;int a就是声明,=10是赋值啦!:)

|
final method不能被override,而override的method要和父类中的声名一摸一样,你的例子中retrieve里面的sendName和父类中的sendName参数不一样,所以这不是override。

准确的说,retrieve里面的sendName也不是overload,因为父类中的sendName是final,所以retrieve里面没有继承这个method,retrieve自己的sendName也称不上overload了。

|
to chenyuan_tongji(codeguru) && fastmask(我心烦) 
有异议:
事实上final函数已经被派生类所继承,但不可override.
class a{
final int f(){return 1;}
}
public class Test extends a{
int f(int i){return i;}
public int aMethod()
      {
System.out.println(super.f());//1
System.out.println(this.f());//1
System.out.println(f(5));//5
return 1; 
}
public static void main (String args[])

Test test = new Test(); 
test.aMethod(); 
     }
}

|
chenyuan_tongji(codeguru) 描述的很正确

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.lang.model.element枚举modifier的类成员方法: final定义及介绍
  • 浅析final,finally,finalize 的区别
  • java命名空间java.lang.reflect类modifier的类成员方法: final定义及介绍
  • java中final与finally的使用介绍
  • java命名空间javax.crypto类exemptionmechanism的类成员方法: finalize定义及介绍
  • 请教finally关键字的用法
  • java命名空间java.lang类enum<eextendsenum<e>>的类成员方法: finalize定义及介绍
  • try catch finally的执行顺序深入分析
  • java命名空间java.util.zip类deflater的类成员方法: finalize定义及介绍
  • java面向对象基础_final详细介绍
  • java命名空间java.util.zip类inflater的类成员方法: finalize定义及介绍
  • final 与static
  • java命名空间java.awt类printjob的类成员方法: finalize定义及介绍
  • 求教前辈们一个关于finalize()的问题,谢谢大家帮助:)
  • java命名空间java.awt类graphics的类成员方法: finalize定义及介绍
  • Java中的final关键字详细介绍
  • java命名空间java.util.concurrent类threadpoolexecutor的类成员方法: finalize定义及介绍
  • 关于Garbage Collector&Finalize()
  • java命名空间java.awt.event类keyevent的类成员方法: vk_final定义及介绍
  • 请问static和final的区别?!(请路过的前辈赐教!!!)
  • java命名空间java.awt.image类indexcolormodel的类成员方法: finalize定义及介绍
  • 关于abstract和final的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3