问下 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学习指南》 哪位好心人有J2SE的随堂练习! jdk1.3.1和jdk1.5.0_04兼容问题 从命令行参数得到一整数并判断该数是不是回文数 【求助】java用什么集成开发环境比较好呢!? java学习? 高分征求Jbuilder8安装问题解决办法 怎么导出HTML文件里面由JAVASCRIPT导入的数据???? 找寻包,大家帮忙。 我用java开发的俄罗斯方块有一点问题????想找个人帮忙, java中有没有象c++里的inline这个指令? 关于 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!