Java-static和接口(简述)
来源:互联网 发布:淘宝钻号出售 编辑:程序博客网 时间:2024/06/16 07:47
static
根据Sun建议的良好的编程实践,实例变量应该总是被声明为私有的。当类变量被用作常量的时候,被声明为public是可以的。
变量:
- 当JVM将类定义加载到内存中时,会为静态字段分配内存空间。静态变量只在执行时被初始化一次。
- 在任何的实例变量中初始化之前初始化所有的静态字段。
- 静态字段可以直接通过类名来访问,不需要任何对象引用。
静态方法
- 静态方法通过类引用调用。可以使用对象引用来调用静态方法,但通常这不被认为是一种良好的风格。
- 静态方法中不能有this和super关键字。
- 静态方法可以访问类的静态字段和方法。
- 静态方法不能访问类的非静态字段和方法。
- 静态方法不能被子类重写。
静态初始化器.
- JVM将静态初始化器的大小限制为64K。因此,不能在静态初始化器中放太多代码。
- 不能从静态初始化器中抛出被检查的异常。
- 不能在静态初始化器中使用this关键字,因为目前还没有创建实例。
- 不能再静态初始化器中调用super。
- 静态初始化器没有返回类型。
接口
不能对接口方法使用一下修饰符:private,protected, transient, volatile和synchronized
- 接口与类非常相似,但接口只可以有隐式为公有的和静态的字段,以及隐式为公有的和抽象方法的声明。
- 接口编译成.class文件并且被与加载类相同的线程加载。
- 可以创建类型是接口名字的引用变量,通过这个引用,只有在接口中的方法是可见的。
- 接口中定义的任何常量在类的代码中可以不用前缀访问,因为实现接口使得他们成为实现类的一部分。
抽象类
抽象类不能被实例化,但是可以被子类化。
- 接口只包含方法签名,而抽象类可能有许多方法的实现。
- 接口的所有方法默认都是公有的,不能为接口中声明的方法应用其他任何访问修饰符。在抽象类中,实现的方法可以在他们的声明中应用访问修饰符。为了这样做,接口的方法必须是公有的,声明它们为protected或private将会导致错误。在抽象类中,可以为实现的方法应用protected修饰符,但是不能应用private修饰符。
- 接口可以扩展多个接口,抽象类不能从超过一个的抽象类扩展。
- 接口中的所有方法都是隐式抽象的,抽象类可以有一些具体的方法。
- 接口不能有构造函数,抽象类可以声明构造函数。
阅读全文
0 0
- Java-static和接口(简述)
- java static简述
- Java 接口简述
- JAVA 接口 简述
- 简述你理解的java中的接口和抽象类的区别(五点)
- 简述Java虚拟机内存的堆区(heap),栈区(stack)和静态区(static/method)
- JAVA WEB接口开发简述
- 抽象类和接口 简述
- 接口 和 抽象 ,static
- Java基础——static简述
- static简述
- Java -接口使用简述(Android自定义TitleBar)
- java接口,private,final,static组合(课堂)
- Java笔记(2)- static 、this、super、final、抽象、接口
- Java 指针和字符串简述
- final、static(Java)和const、static(C#)
- final、static(Java)和const、static(C#)
- static方法和非static方法的区别(java)
- Linux -free查看应用可用内存
- 指针与指针进阶
- 文档总结17-C语言基础
- E185: Cannot find color scheme 'solarized'
- 【BZOJ3282】Tree (Link-Cut Tree)
- Java-static和接口(简述)
- Codeforces Round #441 (Div. 2)-E-National Property(模拟)
- Ireport动态导出pdf,xml
- Catch That Cow POJ
- 个人总结37
- 51Nod 1001
- CCF-训练50题-NO.21-部分A+B
- Spring单例与线程安全小结
- 图论1