接口,抽象类与内部类
Posted 旋风冲锋ofo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口,抽象类与内部类相关的知识,希望对你有一定的参考价值。
---恢复内容开始---
抽象类
语法详解
当一个类中有一个抽象方法,那么他必须是一个抽象类
抽象类不能通过new来创建对象
抽象类可以包含抽象方法,但不是必须
若一个类继承自抽象类,那么他必须实现父类中的抽象方法,或者将自己声明为抽象类。
当一个类声明实现某个或某些接口,但是却没有实现它所有的抽象方法,那么这个类也必须声明为抽象类
接口中的抽象方法必须用public修饰,抽象类中的抽象方法可以用除了private以外的修饰符修饰。
想必接口,抽象类可以包含属性和方法,接口中只能包含抽象方法
抽象类的作用
若想要父类中的方法一定要被子类重写,则需要用到抽象类
内部类
类的内部,方法的内部都能存在类,它们统称为内部类。
类中的内部类——成员内部类
方法中的内部类——局部内部类(类似于成员变量局部变量)
内部类和普通类的语法规则都是相近的,并且也能使用继承,接口
静态方法中不能使用非静态内部类
内部类的使用
java中引入内部类的目的是为了辅助外部类,所以绝大多数情况下内部类是在外部类的内部使用,很少会在外部类之外使用一个内部类。
引入内部类时,import 外部类.内部类
(*)在外部类之外使用内部类:1.非静态内部类new +外部类引用.new+内部类类名(构造方法参数)2.静态内部类,直接new内部类
内部类可以访问外部类的所有成员,无论他的修饰符是什么
匿名内部类
1.匿名内部类没有名字
2.匿名内部类没有构造方法
3.匿名内部类无法显示的继承或实现接口
4.匿名内部类没有修饰符
匿名内部类的语法
new 接口名(抽象类名)。之前说过,接口和抽象类不能被实例化,new关键词相当于创建了一个 实现了该接口(继承了该抽象类)的匿名类的实例
以上是关于接口,抽象类与内部类的主要内容,如果未能解决你的问题,请参考以下文章