static见上面的那张帖子我的贴
final注意要素(欢迎补充)
  1abstract 和final不能同时修饰一个类
  2。修饰常量时通常和 statica合用,
  3。修饰方法保证该方法不能被子类重载,已经被private修饰的方法以及所有包含在final
类中的方法,都被缺省认为是fianl的

解决方案 »

  1.   

    重点不同
    static强调只有一份
    final强调是常量
      

  2.   

    好好读读thinking in java 吧,里面说的特别好。
    static:如果是修饰变量,那么不管有多少个对象只会共享同一块内存。如果是修饰方法,那 么无需实例化类变量,可以直接用类名.methodname。
    final:如果是修饰primitive数据,那么这份数据是不可更改的,如果是修饰对象的话,那么其指向不可更改。但例如一个对象内部有另外一个对象,这另外一个对象可以变更。
      

  3.   

    static和final是不同的两个修饰,static是修饰方法或变量是静态的,而final是修饰定义的变量为常量。
      

  4.   

    static是修饰方法或变量是静态的,有固定的地址。
    final用来修饰class时,表明不可别继承
      

  5.   

    kasanghyh(流浪的小狗)说的很清楚了。
      

  6.   

    //final修饰的方法不能被子类覆盖但能被重载//定义了一个父类和子类,父类有一个final方法,而子类中也有同名方法,但不同形参。
    class SuperClass{
    public final void afunction(){
    System.out.println("null!!!!!!!");
    }
    }
    class Subbie extends SuperClass{
    //如果下面方法没有形参i,编译将出错,显示:overridden metho disfinal
    //表明不能覆盖final修饰的方法
    public void afunction(int i){    //如果没有形参i,就和父类方法相同
    super.afunction();
    System.out.println("???????"+i);
    }
    }
    public class p91{
    public static void main(String[] args){
    SuperClass aa=new SuperClass();
    Subbie bb=new Subbie();
    aa.afunction();
    bb.afunction(90);
    }
    } //另:abstract修饰的方法必须被子类覆盖,实际上是子类必须将他实现出来,因为父类本身并没有实现这样的方法