社区
Java SE
帖子详情
问下 J2SE 里static 和 final , abstract 的区别
1007
2010-01-11 10:00:35
大家好!
总是分不清 static 和 final , abstract 的区别
请大家指点一下~
...全文
191
16
打赏
收藏
问下 J2SE 里static 和 final , abstract 的区别
大家好! 总是分不清 static 和 final , abstract 的区别 请大家指点一下~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
charlotte0517
2011-05-02
打赏
举报
回复
很好,解决了我的问题
hzq237
2010-01-11
打赏
举报
回复
[Quote=引用 2 楼 xyz20003 的回复:]
abstract是抽象的,留着方法等着子类实现,为继承多态而生。
static是静态的,不用实例化就可以用。
final是常量,只读不可修改。
[/Quote]
顶
存在666
2010-01-11
打赏
举报
回复
[Quote=引用 1 楼 ocean20 的回复:]
Static
1. static修饰的属相和方法属于整个类的属性和方法,在创建类的对象时只开辟一块内存空间,所用对象共用这块内存空间。
2. 静态初始化块的使用:
Static { 初始化代码 }
Final
1. fianl修饰的变量是常量,其值不能在被改变。常量的只能初始化一次,其后只不能再被改变,而且初始化只有两种方式:一、在定义的时候初始化。二、在类的构造函数中初始化.
2. fianl修饰的方法为最终方法,不能被覆盖但可以被继承。
3. final修饰的类为最终类,不能再被继承。
Abstract
1. abstract 修饰的类为抽象类,不能实例化
2. abstract 修饰的方法为抽象方法,抽象方法只有方法头没有方法体,在子类的类中必须实现父类的所有抽象方法。即:抽象类中不一定有抽象方法,但有抽象方法的类必须声明为抽象类。
[/Quote]
他说的就是我想说的!VERY GOOD!
bolink5
2010-01-11
打赏
举报
回复
static
当系统需要为某一个变量或者常量分配某个固定的内存区域,就会用到static
当你想调用你一个方法但不想创建对象,就可以通过类名来调用这个方法
在web开发中 一般是定义常量多点 如: public static final String name="ZHANG_SAN";
final
可以结合static 用,声明一个固定常量
如果你不希望你的类或者方法被继承,就可以使用此关键字
如果你不希望你的属性被修改,也可以用此关键字修饰(注:此种用法也有一定的风险,通过反射一样是可以修改定义成private final 属性的)
abstract
抽象一般是父类,你可以在这个类中定义公共的东西,让使用的类继承此类就可以了
接口本身也是抽象类
个人见解,写的也比较乱,LZ 随便看看。
quansheng2580
2010-01-11
打赏
举报
回复
老问题了 google一下
alexhilton
2010-01-11
打赏
举报
回复
[Quote=引用 1 楼 ocean20 的回复:]
Static
1. static修饰的属相和方法属于整个类的属性和方法,在创建类的对象时只开辟一块内存空间,所用对象共用这块内存空间。
2. 静态初始化块的使用:
Static { 初始化代码 }
Final
1. fianl修饰的变量是常量,其值不能在被改变。常量的只能初始化一次,其后只不能再被改变,而且初始化只有两种方式:一、在定义的时候初始化。二、在类的构造函数中初始化.
2. fianl修饰的方法为最终方法,不能被覆盖但可以被继承。
3. final修饰的类为最终类,不能再被继承。
Abstract
1. abstract 修饰的类为抽象类,不能实例化
2. abstract 修饰的方法为抽象方法,抽象方法只有方法头没有方法体,在子类的类中必须实现父类的所有抽象方法。即:抽象类中不一定有抽象方法,但有抽象方法的类必须声明为抽象类。
[/Quote]
这兄弟说的很清楚了
xiaowulaidemei
2010-01-11
打赏
举报
回复
[Quote=引用 1 楼 ocean20 的回复:]
Static
1. static修饰的属相和方法属于整个类的属性和方法,在创建类的对象时只开辟一块内存空间,所用对象共用这块内存空间。
2. 静态初始化块的使用:
Static { 初始化代码 }
Final
1. fianl修饰的变量是常量,其值不能在被改变。常量的只能初始化一次,其后只不能再被改变,而且初始化只有两种方式:一、在定义的时候初始化。二、在类的构造函数中初始化.
2. fianl修饰的方法为最终方法,不能被覆盖但可以被继承。
3. final修饰的类为最终类,不能再被继承。
Abstract
1. abstract 修饰的类为抽象类,不能实例化
2. abstract 修饰的方法为抽象方法,抽象方法只有方法头没有方法体,在子类的类中必须实现父类的所有抽象方法。即:抽象类中不一定有抽象方法,但有抽象方法的类必须声明为抽象类。
2
[/Quote]
顶了
fengfengye
2010-01-11
打赏
举报
回复
[Quote=引用 2 楼 xyz20003 的回复:]
abstract是抽象的,留着方法等着子类实现,为继承多态而生。
static是静态的,不用实例化就可以用。
final是常量,只读不可修改。
[/Quote]
顶
临远
2010-01-11
打赏
举报
回复
abstract是抽象的,留着方法等着子类实现,为继承多态而生。
static是静态的,不用实例化就可以用。
final是常量,只读不可修改。
hiperion
2010-01-11
打赏
举报
回复
Static
1. static修饰的属相和方法属于整个类的属性和方法,在创建类的对象时只开辟一块内存空间,所用对象共用这块内存空间。
2. 静态初始化块的使用:
Static { 初始化代码 }
Final
1. fianl修饰的变量是常量,其值不能在被改变。常量的只能初始化一次,其后只不能再被改变,而且初始化只有两种方式:一、在定义的时候初始化。二、在类的构造函数中初始化.
2. fianl修饰的方法为最终方法,不能被覆盖但可以被继承。
3. final修饰的类为最终类,不能再被继承。
Abstract
1. abstract 修饰的类为抽象类,不能实例化
2. abstract 修饰的方法为抽象方法,抽象方法只有方法头没有方法体,在子类的类中必须实现父类的所有抽象方法。即:抽象类中不一定有抽象方法,但有抽象方法的类必须声明为抽象类。
xmykd
2010-01-11
打赏
举报
回复
[Quote=引用 1 楼 ocean20 的回复:]
Static
1. static修饰的属相和方法属于整个类的属性和方法,在创建类的对象时只开辟一块内存空间,所用对象共用这块内存空间。
2. 静态初始化块的使用:
Static { 初始化代码 }
Final
1. fianl修饰的变量是常量,其值不能在被改变。常量的只能初始化一次,其后只不能再被改变,而且初始化只有两种方式:一、在定义的时候初始化。二、在类的构造函数中初始化.
2. fianl修饰的方法为最终方法,不能被覆盖但可以被继承。
3. final修饰的类为最终类,不能再被继承。
Abstract
1. abstract 修饰的类为抽象类,不能实例化
2. abstract 修饰的方法为抽象方法,抽象方法只有方法头没有方法体,在子类的类中必须实现父类的所有抽象方法。即:抽象类中不一定有抽象方法,但有抽象方法的类必须声明为抽象类。
[/Quote]
讲得很清楚了!
sagegz
2010-01-11
打赏
举报
回复
建议你去看下《SCJP学习指南》
AC903919
2010-01-11
打赏
举报
回复
UP
[Quote=引用 7 楼 bolink5 的回复:]
static
当系统需要为某一个变量或者常量分配某个固定的内存区域,就会用到static
当你想调用你一个方法但不想创建对象,就可以通过类名来调用这个方法
在web开发中 一般是定义常量多点 如: public static final String name="ZHANG_SAN";
final
可以结合static 用,声明一个固定常量
如果你不希望你的类或者方法被继承,就可以使用此关键字
如果你不希望你的属性被修改,也可以用此关键字修饰(注:此种用法也有一定的风险,通过反射一样是可以修改定义成private final 属性的)
abstract
抽象一般是父类,你可以在这个类中定义公共的东西,让使用的类继承此类就可以了
接口本身也是抽象类
个人见解,写的也比较乱,LZ 随便看看。
[/Quote]
hhxinghuo
2010-01-11
打赏
举报
回复
[Quote=引用楼主 1007 的回复:]
大家好!
总是分不清 static 和 final , abstract 的区别
请大家指点一下~
[/Quote]
说的很具体!
baby1986
2010-01-11
打赏
举报
回复
为什么不看一下书?书上说的绝对比大家七嘴八舌的有权威!
java 哈希表和向量_Java基础知识笔记(一:修饰词、向量、哈希表)
本文介绍了Java语言的特点,包括简单性、网络特性、面向对象等。还阐述了环境变量path和classpath的作用,以及修饰词
abstract
、
static
、
final
的含义。此外,对向量和哈希表进行了简介,说明了向量的功能、原理、操作,以及哈希表在查找元素存储位置上的优势。
Java基础知识笔记(一:修饰词、向量、哈希表)
本文介绍了Java语言的八大特点,包括简单性、网络特性、面向对象等,并讲解了环境变量path和classpath的作用,以及
abstract
、
static
、
final
三个修饰词的使用方法。此外,还介绍了向量和哈希表的基本概念。
java学习笔记一
本文系统梳理Java核心知识体系,涵盖JVM/JRE/JDK关系、程序运行流程、基础数据类型(含大小与范围)、变量分类(参数/静态/实例)及修饰符(public/private/
static
/
final
/
abstract
等)、String/StringBuffer/StringBuilder对比、日期格式化与解析、正则表达式原理、IO流分类(字节流/字符流)、Scanner输入差异、异常处理机制(检查性/运行时/错误)及try-with-resources特性。
Java字节码(.class文件)格式详解(二)
本文深入探讨了Java字节码的组成结构,包括类文件中的类信息、方法信息、属性信息等关键元素,详细解释了访问权限、方法描述、字节码解析流程及异常处理机制等内容。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章