问下 J2SE 里static 和 final , abstract 的区别 大家好!总是分不清 static 和 final , abstract 的区别 请大家指点一下~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Static1. static修饰的属相和方法属于整个类的属性和方法,在创建类的对象时只开辟一块内存空间,所用对象共用这块内存空间。2. 静态初始化块的使用:Static { 初始化代码 }Final1. fianl修饰的变量是常量,其值不能在被改变。常量的只能初始化一次,其后只不能再被改变,而且初始化只有两种方式:一、在定义的时候初始化。二、在类的构造函数中初始化.2. fianl修饰的方法为最终方法,不能被覆盖但可以被继承。3. final修饰的类为最终类,不能再被继承。Abstract1. abstract 修饰的类为抽象类,不能实例化2. abstract 修饰的方法为抽象方法,抽象方法只有方法头没有方法体,在子类的类中必须实现父类的所有抽象方法。即:抽象类中不一定有抽象方法,但有抽象方法的类必须声明为抽象类。 abstract是抽象的,留着方法等着子类实现,为继承多态而生。static是静态的,不用实例化就可以用。final是常量,只读不可修改。 static 当系统需要为某一个变量或者常量分配某个固定的内存区域,就会用到static 当你想调用你一个方法但不想创建对象,就可以通过类名来调用这个方法 在web开发中 一般是定义常量多点 如: public static final String name="ZHANG_SAN"; final 可以结合static 用,声明一个固定常量 如果你不希望你的类或者方法被继承,就可以使用此关键字 如果你不希望你的属性被修改,也可以用此关键字修饰(注:此种用法也有一定的风险,通过反射一样是可以修改定义成private final 属性的) abstract 抽象一般是父类,你可以在这个类中定义公共的东西,让使用的类继承此类就可以了 接口本身也是抽象类 个人见解,写的也比较乱,LZ 随便看看。 他说的就是我想说的!VERY GOOD! 建议你去看下《SCJP学习指南》 jsp onkeyup .all[]用法 两个List比较的问题 求 java就业前景 java就业要求 J2me请教 今天面试的题目,死了一大片人(java程序员级别) 简单继承问题 请高手指导一下 Java中如何取得一个文件的做成日和最终访问日? 一个简单问题,关于字符串 关于CachedRowSet的疑问 关于 WeakReference, ReferenceQueue 的小问题 ArrayList的问题
1. static修饰的属相和方法属于整个类的属性和方法,在创建类的对象时只开辟一块内存空间,所用对象共用这块内存空间。
2. 静态初始化块的使用:
Static { 初始化代码 }
Final1. fianl修饰的变量是常量,其值不能在被改变。常量的只能初始化一次,其后只不能再被改变,而且初始化只有两种方式:一、在定义的时候初始化。二、在类的构造函数中初始化.
2. fianl修饰的方法为最终方法,不能被覆盖但可以被继承。
3. final修饰的类为最终类,不能再被继承。
Abstract
1. abstract 修饰的类为抽象类,不能实例化
2. abstract 修饰的方法为抽象方法,抽象方法只有方法头没有方法体,在子类的类中必须实现父类的所有抽象方法。即:抽象类中不一定有抽象方法,但有抽象方法的类必须声明为抽象类。
当系统需要为某一个变量或者常量分配某个固定的内存区域,就会用到static
当你想调用你一个方法但不想创建对象,就可以通过类名来调用这个方法
在web开发中 一般是定义常量多点 如: public static final String name="ZHANG_SAN";
final
可以结合static 用,声明一个固定常量
如果你不希望你的类或者方法被继承,就可以使用此关键字
如果你不希望你的属性被修改,也可以用此关键字修饰(注:此种用法也有一定的风险,通过反射一样是可以修改定义成private final 属性的)
abstract
抽象一般是父类,你可以在这个类中定义公共的东西,让使用的类继承此类就可以了
接口本身也是抽象类
个人见解,写的也比较乱,LZ 随便看看。
他说的就是我想说的!VERY GOOD!