美文网首页
Java 接口/抽象类/内部类

Java 接口/抽象类/内部类

作者: 周晓风 | 来源:发表于2017-03-07 08:51 被阅读50次

1. 接口

接口为我们提供了一种将接口与实现分离的更加结构化的方法。接口是一个完全的抽象类,它没有提供任何形式的具体实现,它允许创建者确定方法名,参数类表,返回类型没有任何方法体的方法。

接口被用来建立类与类之间的协议。接口类修饰符必须是public,default(默认的,本包内有访问权限)或者前边两个和abstract组合,接口也可以包含域,但是这些域隐士地是public static final类型的,所有接口域必须初始化值。接口中方法默认访问级别都是public,如果定义访问级别小于public,编译将不能通过。

接口是用来实现类间多重继承功能的结构.

接口不能实例化,即不能用new运算符创建对象。

一个类通过使用关键字implements声明自己实现一个或多个接口。

在类体中可以使用接口中定义的常量,而且必须实现接口中定义的所有方法

接口中的方法是自动公有的,在实现接口时必须把方法声明为public 。接口中的方法都是抽象的。

一个接口可以继承另一个接口。

任何类(包括普通类,内部类,抽象类)可以实现一个接口。

2. 抽象类

抽象类也叫做抽象基类,抽象类是基础类和接口中间的一个中庸之道,即有基础类特性(已实现的方法体),又有接口特性(抽象方法),抽象类用abstract修饰,抽象类中可以有抽象方法也用abstract来修饰。

抽象方法:java 中可以定义一些不含方法体的方法,它的方法体的实现交给该类的子类根据自己的情况去实现。

抽象类:包含抽象方法的类叫抽象类。一个抽象类可以有一个或多个抽象方法。

抽象类必须使用abstract修饰符来定义,抽象方法也必须用abstract来修饰。

抽象类不能被实例化,不能用new关键字去产生对象。

抽象方法只能声明,不能实现。

含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否则这个子类还是个抽象类。

3. 内部类

可以将一个类的定义放在另一个类的定义内部,这就是内部类,内部类允许你把一些逻辑相关的类组织在一起,并控制内部类的可视性,内部类和组合是完全不同的概念,这点要注意。

最初,内部类看起来就是一种类隐藏机制,将类置于其他类的内部,但是其实内部类用途远远不止这些,它可以和外部类进行通信,而且你用内部类写出的代码更加优美清晰。

定义:在一个类内部定义类

内部类的写法:class 类名{ }

它可以直接访问和引用他的外部类的所有变量和方法,与外部类相比,内部类可以声明为private或protected.

用static修饰一个内部类时(嵌套类),这个类相当于是一个外部定义的类,所以static的内部类中可声明static成员

static内部类不能使用外部类的非static成员变量

函数的局部变量(形参也是局部变量),内部类的成员变量,外部类的成员变量重名,用以下方式来明确指定我们真正要访问的变量。

相关文章

  • 知识点总结

    1. java: * 集合 * 内部类,匿名类,静态类 * 抽象类,接口区别 * 线程池 * ...

  • 16. 对象声明与伴生对象

    匿名内部类 匿名内部类主要是针对那些获取抽象类或者接口对象而来的。最常见的匿名内部类点击事件: 上面这个是Java...

  • Android面试复习

    一.Java基础 1.Java语法关键字:接口和抽象类,反射,内部类,字符串,范型,枚举,引用类型,注解,NIO,...

  • Java面试核心框架

    常量池 常用关键字 final static 内部类 抽象类 接口 异常 注解 容器 内存管理内存模型、工作内...

  • 接口,抽象类,工厂设计模式,代理模式

    一、接口的结构: 抽象方法 全局常量 最终写法: 其他内部结构内部类内部抽象类内部接口 二、接口和抽象类 抽象类可...

  • Java匿名内部类

    导语 学完匿名内部类就懂的情书。 主要内容 接口与抽象类和匿名内部类的关系 具体内容 匿名内部类也就是没有名字的内...

  • PHP转JAVA的记录

    Java 数组 内部类 内部类的创建:内部类可以对包内其他类隐藏想实现一个接口时, 不想新建类文件 内部类可以访问...

  • Java&Android 基础知识梳理(0) - Jav

    Java 基础知识大纲 一、面向对象 二、Object类相关 三、重要关键字 四、内部类 五、抽象类 & 接口 六...

  • Java 接口/抽象类/内部类

    1. 接口 接口为我们提供了一种将接口与实现分离的更加结构化的方法。接口是一个完全的抽象类,它没有提供任何形式的具...

  • 接口与抽象类【Java提高四】

    接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。 抽象类与接口是java语言中对抽象概念进行定义...

网友评论

      本文标题:Java 接口/抽象类/内部类

      本文链接:https://www.haomeiwen.com/subject/wvvpgttx.html