一.
inner内部类中方法的public必须带着,不然就编译失败?子类的权限要大于父类的权限么?
上面截图是常见的形式。接下来,简化成匿名内部类。
按照之前谈论的匿名内部类写法,发现在多个方法时,书写有困难。
我们现在想对一个对象进行多个方法调用怎么办?起名字就行了,借用以前的经验。
给它起个名字,是按父类的类型起的,不是子类或者内部类,这样任然是匿名内部类。这也是多态的运用。
这就是我们所说的匿名内部类的基本应用。
匿名内部类的应用场景是这样的:
不超过三,是说一个或两个。传递?作为参数传递?
比如在主函数的下面,有一个inter类型的接口引用,
通常的做法就是上面截图中的那样,先创建类实现接口,再创建类的对象。挺疑惑的一点就是,为什么函数居然是以接口作为参数?
但是这样我们觉着,定义一个类比较麻烦,可以把它简化一下,
为什么强调不超过三个呢?是因为方法特别多时,就意味着匿名内部类方法体内容比较多,这个对象就太胖了,阅读性就没有了。
简化是为了阅读,这么一弄就违背了初衷。
这个例子其实不是内部类,但是借用了匿名内部类的格式→错了,实现接口的那个类,确实是内部类。