java内部类
2020-02-17 05:26
429 查看
1.定义
在一个类中声明的类就叫它内部类2.分类
1.成员内部类
就是以类成员的形式声明内部类,是最普通的内部类。它可以访问所有的外部成员包括私有成员和静态成员。 一般它的使用方式为:Outter outter = new Outter(); Outter.Inner inner = outter.new Inner();
public class Outter { private class Inner{ public void print(){ System.out.println("I am inner class"); } } public static void main(String[] args) { Outter out = new Outter(); Outter.Inner in = out.new Inner(); in.print(); } }
2局部内部类
就是定义在一个方法或一个作用域内的类,它就像方法里面的局部变量一样,是不能有public、protected、private、static修饰的。3匿名内部类
一般来说匿名内部类是用来继承其他类、重写其他类方法或实现接口用的。public class Outter2 { static Car getCar(){ return new Car(){ String getName(){ return "F1"; } }; } public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(getCar().getName()); } } class Car{ String getName(){ return "F0"; } } //abstract class Car{ // // abstract String getName(); //}
4静态内部类
由static修饰的内部类,只能访问外部的静态成员和静态方法使用方法为:
Outter.Inner inner = new Outter.Inner();
3.作用
1.内部类可以很好的实现隐藏
一般的非内部类,是不允许有 private 与protected权限的,但内部类可以
2.内部类拥有外围类的所有元素的访问权限,
静态内部类只能访问静态的成员和方法
3.可是实现多重继承
可以通过定义多个内部类来间接的实现多继承
4.可以避免修改接口而实现同一个类中两种同名方法的调用。
可以让内部类实现接口,这样就不会与外围类的方法冲突了。- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- JAVAEE学习day05学习,数组
- JAVAEE学习day06,面向对象
- 一篇文章看清楚JDK13的特性!
- JAVA基础面试题(一)
- Java经典面试题整理及答案详解(一)
- 请不要在 JDK 7+ 中使用这个 JSON 包了!
- SpringBoot 单元测试利器——Mockito
- JDK 的 3 个 bug 啊!
- 阿里面试 Java 都问什么?万字总结!
- 【Java并发基础】利用面向对象的思想写好并发程序
- SpringBoot里slf4j日志功能的默认实现
- 如何用eclipse做一个Taglib的helloWorld例子?
- Spring 框架下的 JDBC
- java图形用户界面之列表框
- java实现导出Excel
- java使double类型数据保留两位小数的方法 java保留两位小数
- 记录一下接触SpringMVC的一些坑(基于Spring in action)
- JAVA第一天
- JAVA第二天
- JAVA第三天