1、成员内部类

内部类与外部类的关系

a.成员内部类的创建需要依赖于外部类对象-(成员方法必须通过对象调用),在没有外部类实例之前无法创建成员内部类对象

b.内部类与外部类相对独立,不是is a 的关系(发动机-汽车)

c.私有属性的互相访问,内部类可以直接访问外部类,而外部类访问内部类需要内部类的对象来访问

d.创建内部类的语法

1.在外部类内部创建内部类对象(Inner inner = new Inner())

2.在外部类外部创建内部类对象,外部类.内部类 inner = new Outter().new Inner();

e.在内部类内部使用隐藏的外部类对象(隐藏的this)

成员内部类:类比成员方法,不能拥有静态域但是可以访问外部类的静态域

2、静态内部类

定义在外部类的内部,使用static修饰,类比静态方法,静态内部类不需要外部类对象产生就能使用,不能访问外部类的成员域,但能访问静态域

静态内部类的创建语法:

1.外部类内部:与成员内部类一样

2.外部类外部:StaticInnerClass.Inner inner = new StaticInnerClass.Inner();

3、方法内部类

定义在方法内部:类比局部变量

a.对外部完全隐藏,因此方法内部类不能有任何访问修饰符

b.方法内部类没有访问形参是,这个形参是可以在方法中随意修改的,一旦方法内部类中使用了形参,这个形参必须被声明为final。

4、匿名内部类

a.必须继承一个抽象类或者实现一个接口

b.没有构造方法

java内部类最全详解相关推荐

  1. java内部类赋值_详解 Java 内部类

    内部类在 Java 里面算是非常常见的一个功能了,在日常开发中我们肯定多多少少都用过,这里总结一下关于 Java 中内部类的相关知识点和一些使用内部类时需要注意的点. 从种类上说,内部类可以分为四类: ...

  2. Java内部类最细详解

    内部类(本质上还是一个类) 类的五大成员:属性.方法.构造器.代码块.内部类 内部类有四种:局部内部类.匿名内部类 ||| 成员内部类.静态内部类 内部类的分类: 定义在外部类的局部位置上(比如方法内 ...

  3. java提高篇之详解内部类

    转载自 java提高篇之详解内部类 内部类是一个非常有用的特性但又比较难理解使用的特性(鄙人到现在都没有怎么使用过内部类,对内部类也只是略知一二). 第一次见面 内部类我们从外面看是非常容易理解的,无 ...

  4. Java编程配置思路详解

    Java编程配置思路详解 SpringBoot虽然提供了很多优秀的starter帮助我们快速开发,可实际生产环境的特殊性,我们依然需要对默认整合配置做自定义操作,提高程序的可控性,虽然你配的不一定比官 ...

  5. Linux-shell-完全详解

    Linux-shell-完全详解(1) 一. Shell简介:什么是Shell,Shell命令的两种执行方式1 二. 几种常见的Shell1 三. Shell脚本语言与编译型语言的差异2 四.什么时候 ...

  6. Java中JDBC连接数据库详解

    今天动力节点java学院小编分享的是JDBC连接数据库的相关知识,希望通过看过此文,各位小伙伴对DBC连接数据库有所了解,下面就跟随小编一起来看看JDBC连接数据库的知识吧. 一.JDBC连接数据库概 ...

  7. java utill scanner_(转)java.util.Scanner应用详解

    java.util.Scanner应用详解 java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java A ...

  8. Java 并发之 AQS 详解(上)

    Java 并发之 AQS 详解 前言 Java SDK 为什么要设计 Lock 死锁问题 synchronized 的局限性 显式锁 Lock Lock 使用范式 Lock 是怎样起到锁的作用呢? 队 ...

  9. Java并发之AQS详解(文章里包含了两片文章结合着看后边文章不清楚,请看原文)

          AQS全称抽象队列同步器(AbstractQuenedSynchronizer),它是一个可以用来实现线程同步的基础框架.当然,它不是我们理解的Spring这种框架,它是一个类,类名就是A ...

最新文章

  1. SCCM 2012 SP1系列(七)分发部署exe软件
  2. 战略设计,必须首先把握产业的脉搏
  3. python绘制动态图-Python利用Echarts绘制动态交互图:快速入门
  4. shell特殊符号cut命令 sort_wc_uniq命令 tee_tr_split命令 shell特殊符号
  5. MySQL 主从架构配置详解
  6. ASP.NET Core Identity自定义数据库结构和完全使用Dapper而非EntityFramework Core
  7. linux下的bc计算器设置scale精度
  8. Redis- 内存数据库Redis之安装部署
  9. oracle 31693,ORACLE expdp备份与ORA-31693、ORA-02354、ORA-01555
  10. 特别好看的一个多接口api的图床源码
  11. [ASP.NET MVC]通过对HtmlHelper扩展简化“列表控件”的绑定
  12. 字符串全排列 java实现
  13. Shiro Subject详解
  14. mysql富文本_mysql模糊查询富文本的文本内容
  15. Android CPU 双核,骁龙MSM8625双核处理器
  16. 线段树入门之夜空星亮
  17. 【数据分析】:搭建数据分析业务工作流程
  18. 深入理解TCP三次握手与四次挥手过程以及抓包实验
  19. nodejs+vue高校教室管理系统
  20. 手机安装https证书报错!无法安装该证书,因为无法读取该证书文件解决办法

热门文章

  1. 【WPS办公】将Word文档输出为PDF格式
  2. jsPlumb初认识
  3. 矩形弹性固体的平面或者轴对称应变分析(python,有限元)
  4. php 微信监听返回键,JavaScript_JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法,在实际的应用中,我们常常需 - phpStudy...
  5. 魔力耳朵“沉浸式”英语环境教学,让孩子爱上学英语
  6. MIUI12设置勿扰模式下来电白名单步骤
  7. mysql unsigned 用法_mysql中unsigned的用法
  8. 2020 阿里、腾讯、美团以及网易等一线互联网公司面试总结
  9. 我做字节跳动面试官的那几年:学历+内推+技能哪个更重要?
  10. 【温故而知新-Javascript】为DOM元素设置样式