社区
Java SE
帖子详情
抽象类与static和final
简单的小2
2013-10-30 10:02:15
为什么抽象类不能用static和final修饰?final是最终类不能被继承这个我明白,但是static也不能被继承是为啥呢?请明白人帮忙解释下,谢谢
...全文
422
8
打赏
收藏
抽象类与static和final
为什么抽象类不能用static和final修饰?final是最终类不能被继承这个我明白,但是static也不能被继承是为啥呢?请明白人帮忙解释下,谢谢
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
guizhaiteng
2013-10-31
打赏
举报
回复
引用 2 楼 huxiweng 的回复:
static本来就不能修饰类啊!只有public, abstract & final 可以修饰类!
静态内部类是可以用static修饰的。
郑涛
2013-10-31
打赏
举报
回复
你说的不会是(非内部类吧),static使一个变量或方法成为这个class的属性,而不是这个class对应的所创建对象的属性,你在最外面独立的类用staitc代表什么意思
郑涛
2013-10-31
打赏
举报
回复
static 可以修饰类,只不过这个类要是一个类的成员变量
ifvlr
2013-10-30
打赏
举报
回复
被static修饰的方法在和没有static修饰的方法在内存中的位置不一样。。 被static修饰的方法属于类,是类自己的东西,不是给子类来继承的。就好像类是个房子,它的静态方法是里面的一面墙,每个人都可已在墙上画画,你画的东西别人也能看到,属于大家共同使用。你想通过继承来把这面墙拿走也不可能拿走,他是从属于类的。 而抽象方法本身没有实现,就是用来给子类继承,存在内存中的位置也不是一样的。用static修饰就不能被子类继承了。同样 你可以这么理解。 抽象方法相当于房子中地上的白纸,继承了它的子类就必须从地上拿一张白纸回去画画,你想怎么画怎么画。 一个相当于墙,你是拿不走的。一个相当于地上的纸,而且规定你实现了就必须拿走。 大概就是这么理解吧。
失落夏天
2013-10-30
打赏
举报
回复
static的用法: 1、static 关键字:可以用于修饰属性,也可以用于修饰方法,还可以用于修饰类。 2、static 修饰属性:无论一个类生成了多少个对象,所有这些对象共同使用唯一一份静态的成员变量;一个对象对该静态成员变量进行了修改,其他对象的该静态成员变量的值也会随之发生变化。如果一个成员变量是static 的,那么我们可以通过 类名 .成员变量名 成员变量名 成员变量名 的方式来使用它 的方式来使用它 (推荐使用这种方式) 。 3、static修饰方法: static 修饰的方法叫做静态。 对于静态方法来说,可以 使用 类名 .方法名的方式来访问。 4、静态方法只能继承,不重写(Override) 5、不能在静态方法中访问非静态成员变量; 6、不能在静态方法中使用this关键字。
zhuwagui
2013-10-30
打赏
举报
回复
顶楼上的回答
teemai
2013-10-30
打赏
举报
回复
static本来就不能修饰类啊!只有public, abstract & final 可以修饰类!
shayebuhui0
2013-10-30
打赏
举报
回复
static修饰的方法不能被重写,你懂得
Java核心知识点:
static
、
final
、
抽象类
static
修饰类成员,共享且类加载时初始化,类名访问;
final
限制类继承、方法重写、变量重赋值;
抽象类
含抽象方法不可实例化,子类需重写,体现模板思想,保障规范与灵活
java中
final
、
static
与
抽象类
的用法
1、
final
a、
final
+变量:表示该变量为常量; b、
final
+class:最终类,不能被继承; c、
final
+方法:不能被重写; 注意事项:
final
修饰的常量命名字母需全部大写。 2、
static
a、可用类名打点直接访问,不需要new对象; b、静态变量位于方法区,实例变量位于堆区; c、静态方法不能调用普通属性和方法,仅能调用静态方法和方法; d、普通方法可以调用静态属性和方法; 注意事项:静态方法依赖于类,普通方法依赖于对象 3、
抽象类
a、
抽象类
用abstract修饰; b、抽象方
抽象类
与接口、
final
与
static
抽象类
与接口、
final
与
static
接口与
抽象类
的区别
抽象类
概念抽象方法
抽象类
与普通类的区别
抽象类
的常见问题例子接口概念优点全局变量与抽象方法的简写接口的实现接口的继承
final
static
接口与
抽象类
的区别
抽象类
要被子类继承;接口要被类实现。
抽象类
中可以声明抽象方法和非抽象方法;接口只能声明抽象方法。
抽象类
中的变量是普通变量;接口里定义的变量只能是公共的静态常量
抽象类
使用继承(extends)来使用,无法多继承;接口使用实现(implements),可以多实现
抽象类
中可以包含
static
方
Java接口与
抽象类
的区别+
final
+
static
**1.**
抽象类
中可以有一个或多个抽象方法,而接口中的方法必须都是抽象方法。 ! **2.**接口中声明的变量默认都是
final
的,
抽象类
中可以包含非
final
的变量。 接口中的成员函数默认是public的,
抽象类
的成员函数可以是private,protected,public。 **3.**接口可以实现多继承,
抽象类
只能继承一个。 public class To extends Abstrac...
static
和
final
。接口和
抽象类
。
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章