static和final的区别
2012-04-15 00:00
218 查看
1.final定义的变量可以看做一个常量,不能被改变;final定义的方法不能被覆盖;final定义的类不能被继承。final static 就是再加上static的特性就可以了
2.static 是在内存中分配一块区域,供整个类通用,所有的类的对象都享有它的共同的值
static定义一个变量:实现的是类所有对象的共享,比如算网站的点击量的时候,通过一个static变量实现。
代码中的i的值实现了共享,由此可见静态域保存在类的存储单元里,问不是保存对象的存储单元里。
而final如同上面所讲的,定义常量或者方法不能覆盖,类不能继承。这里的方法不能覆盖但是可以重载:
2.static 是在内存中分配一块区域,供整个类通用,所有的类的对象都享有它的共同的值
static定义一个变量:实现的是类所有对象的共享,比如算网站的点击量的时候,通过一个static变量实现。
public class StaticTest { private static int i = 0; public int add(int i) { return this.i += i; } /** * @param args */ public static void main(String[] args) { StaticTest st = new StaticTest(); st.add(3); StaticTest st1 = new StaticTest(); st1.add(4); System.out.println(i); } }
代码中的i的值实现了共享,由此可见静态域保存在类的存储单元里,问不是保存对象的存储单元里。
而final如同上面所讲的,定义常量或者方法不能覆盖,类不能继承。这里的方法不能覆盖但是可以重载:
public class StaticTest { private static int i = 0; public final int add(int i) { return this.i += i; } }
public class StaticTest1 extends StaticTest { private int i = 0; public int add(String i) { return this.i += Integer.parseInt(i); } }
相关文章推荐
- java final和static的区别
- Java修饰符 abstract,static,final 的区别详解
- java-static、final、static final的区别
- Java修饰符 abstract,static,final 的区别详解
- Java中static 和final的区别
- Java 关键字 final 和static 的区别
- final、static、static final修饰引用类型时的区别
- Java的final和static区别
- Java中static 和final的区别
- final和static使用的再思考,以及其在“类.方法”和“对象.方法”使用方式上的的区别
- String、StringBuffer、StringBuilder区别,HashMap与HashTable区别,final关键字详解及初始化成员变量位置,static关键字详解,抽象类与接口区别
- Java-小技巧-003-static、final、static final的区别
- 浅析Java中的final关键字(static,final和static final的区别)
- (第16讲)this、super、final、static关键字区别
- Java中static和final的区别
- java中final与static的区别
- Java中static 和final的区别
- Java基础-final和static的区别
- java中final和static的区别
- final关键字和static关键字的联系与区别