public final void print(){
}public static void print() {
}有什么区别吗???下面一个是常函数,无需实例化,上面一呢??

解决方案 »

  1.   

    下面一个是一个静态函数,只用用类调用即可.上面一个就不一样了,必须用自身对象来调用,并且带final修饰的方法不属于接口的一部分,即不能自己类中其他方法重载并且不能被其子类所继承.
      

  2.   

    下面一个是一个静态函数,只用用类调用即可.上面一个就不一样了,必须用自身对象来调用,并且带final修饰的方法不属于接口的一部分,即不能自己类中其他方法重载并且不能被其子类所重载,但是可以被子类继承使用(上面说错了)
      

  3.   

         final定义后只是说明其不能被重写,就是子类不能覆盖此方法,并且只能由实例化了的对象才能调用,并且创建了几个实例的话就会分配几次内存给这段代码,每个对象分别引用内存中属于自己的那一块(方法体)代码.
         static定义后此方法就可供该类的所有实例共享,在加载这个类是是先于非静态成员先加载的并且在内存中只存在一份,实际应用中常用类名直接引用,但也可以通过实例对象来进行引用,但引用的都是同一个内存中的(方法体)代码块.