`
zengjuly
  • 浏览: 15124 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Interface classes 和 inner classes

 
阅读更多

Interface classes 和 inner classes

interface class是纯粹的abstract class,它的函数只有原型,没有实现,interface可以内含成员成员变量,但是它们都自然而然称为static 和 final的。interface只提供形式不含实现细节。
insterface A{
...
}

interface前可以加public属性,但只有在与其同名的文件中才可以,负责就是friendly的。

实现该接口的类要使用implements关键字。
class B implements A{
...
}

interface中的函数可以声明为public,即使没有它们也是public的,所以实现interface时,必须继承自interface的所有函数定义为public的。

多重继承 multiple inheritance
派生类可以继承自一个或不继承抽象或具体的父类,其余只能是interface
class DerivedClass extends BaseClass
implements Interface1, interface2,..interfacen {
...
}

使用interface的原因:
1 能够向上转型至多个基本类别
2 (与abstract class一致)让客户端程序员无法产生它的对象,从而确保这只是一个接口而而非实现。

设计父类时,优先考虑是否可以使用interface,只有在必须有函数定义或成员变量时才使用抽象乃至具体类

分享到:
评论

相关推荐

    SCJP6 Sun Certificated Programmer for Java 6 Study Guide (Exam 310-065) 英文原版

    - **Anonymous Inner Classes**: Creating anonymous inner classes without a name. - **Static Nested Classes**: Similar to member inner classes but static. #### 9. Threads Concurrency is achieved ...

    Core Java 9th Edition(Vol1,Vol2)

    Interfaces and Inner Classes Chapter 7. Graphics Programming Chapter 8. Event Handling Chapter 9. User Interface Components with Swing Chapter 10. Deploying Applications and Applets Chapter 11. ...

    Core Java. Volume I. Fundamentals, 8th Edition JAVA核心技术1基础知识

    6 INTERFACES AND INNER CLASSES 7 GRAPHICS PROGRAMMING 8 EVENT HANDLING 9 USER INTERFACE COMPONENTS WITH SWING 10 DEPLOYING APPLICATIONS AND APPLETS 11 EXCEPTIONS, LOGGING, ASSERTIONS, AND DEBUGGING 12...

    java-master-class-innter-abstract-classes-interfaces:适用于软件开发人员的Java编程大师课程(CHAPITRE 9

    **内部类(Inner Classes)** 内部类是Java中的一种特性,它允许在一个类的内部定义另一个类。内部类可以是静态或非静态的,每种都有其特定用途。非静态(成员)内部类可以直接访问外部类的私有成员,而静态内部类...

    Java2核心技术卷I+卷2:基础知识(第8版) 代码

    Chapter 6: Interfaces and Inner Classes 241 Interfaces 242 Object Cloning 249 Interfaces and Callbacks 255 Inner Classes 258 Proxies 275 Chapter 7: Graphics Programming 281 Introducing Swing...

    java.核心技术.第八版 卷1

    For thorough coverage of Java fundamentals–including interfaces and inner classes, GUI programming with Swing, exception handling, generics, collections, and concurrency–look for the eighth edition ...

    JAVA词汇表下载.docJAVA词汇表下载.doc

    6. 匿名内部类(Anonymous Inner Classes):这是局部内部类的一个特殊形式,它们没有类名。匿名内部类常用于实现简单的功能,比如只包含单个或少数几个小方法的监听器。 7. API(Application Programming ...

    java基础学习课件

    8. **内部类(Inner Classes)**:内部类是定义在一个类内部的类,分为成员内部类、局部内部类、匿名内部类和静态内部类。它们可以访问外部类的所有成员,包括私有成员,这在实现某些特定功能或封装上非常有用。 9....

    java源代码实例系列之三供参考

    5. 内部类(Inner Classes):Java支持内部类,即在一个类的内部定义另一个类。这可以用来封装和组织代码,或实现特定设计模式。这部分可能包括静态内部类、匿名内部类和成员内部类的使用。 6. 异常处理:Java的...

    深入java虚拟机(inside the java virtual machine)

    The InnerClasses Attribute The LineNumberTable Attribute The LocalVariableTable Attribute The SourceFile Attribute The Synthetic Attribute Getting Loaded: A Simulation On the CD-ROM The ...

    JAVA Class文件结构

    - `InnerClasses`属性:记录内部类与外部类之间的关系。 #### 三、重要属性解析 ##### 1. Code属性 `Code`属性是方法表的一个子属性,它包含了方法的字节码指令。对于每个方法,如果它有具体的实现代码,则会有一...

    CoreJava重点要点笔记

    - **Chapter 06 Advanced Language Features (Static、Final、Access control、Collections and Reflection、Abstract、Interface、Inner classes)**: - 高级语言特性详解,如静态成员、最终类、访问控制、集合框架...

    Java学习day01-day15学习资料

    10. **day15**: 继续面向对象的进阶,可能探讨了内部类(Inner Classes)的使用,以及抽象类和接口之间的区别和选择。 通过这些章节的学习,你可以系统地掌握Java的基础知识,为后续的Java开发打下坚实的基础。黑马...

    Thinking in Java 4th Edition with Annotated Solution Guide编程思想+课后习题源码

    7. **Innerclasses**:内部类是Java中一个独特的特性,它可以是成员内部类、局部内部类、匿名内部类或静态内部类。内部类可以更好地实现封装,同时在某些特定情况下提供更灵活的设计选择。 8. **Initialization**:...

    java重点英语词汇

    6. **Anonymous inner classes(匿名内部类)**:匿名内部类是局部内部类,没有类名。它们最适合实现单一或非常少量的方法,可以节省代码并提高可读性。 7. **API(Application Programmer's Interface,应用程序...

    Java语言常用的方法名.pdf

    “Innerclasses”指的是内部类,它可以定义在另一个类的内部。 “Instance”指对象实例,是类的具体存在。 “Instancevariable”和“Localvariable”分别指实例变量和局部变量。实例变量是属于对象的变量,局部...

    Core Java Volume II 最新第8版 part2全两卷 (附随书源码)

    * Interfaces and inner classes * Reflection and proxies * The event listener model * GUI programming with Swing * Packaging applications * Exception handling * Logging and debugging * Generic ...

Global site tag (gtag.js) - Google Analytics