重拾Java回忆录(十一):Java11内部类的使用

什么是内部类:定义在另外一个类中的类,称为内部类

编译完成后产生2个类 Outter.class 和 Outter$Inner.class

内部类的分类

静态内部类:定义在类中使用static描述

静态内部类中只能访问外部类的静态成员

实质:在一个类中定义了一个静态类型,该类型产生的对象可以操作包含类中的静态属性

成员内部类: 作为外部类的一个成员出现,与外部类的属性和方法并列

局部内部类:在外部类的方法中定义的类,类似与局部参数

匿名内部类:特殊的内部类

--没名字,没定义class
extends implements

--以一种隐含的方式实现一个接口或者继承一个类
,并且只能创建一次实例

--唯一的没有构造方法的类

小结:什么使用内部类

1.当设计一个类A的功能时,发现该类A完全的为某一个类B服务,将该类A设计称为B的内部类

2.当编写代码时,为了对某些操作保密(算法,数据类型),可以通过内部类进行封装

时间: 2024-10-07 05:25:21

重拾Java回忆录(十一):Java11内部类的使用的相关文章

重拾Java回忆录(一):Java01基本数据类型和基本语句

编写java程序的基本的要求 1.编写java类其实就是编写java文件(默认的情况下类名和文件名要求一致) 2.类在编写的时候,应该放在一个包(package) 包的含义:一个文件夹的显示(文件的层次关系的反映) 包中的层次依靠 . 进行层进,用于区分不同的java文件 包之间的应用 1.创建类  package 包名(指明类的位置) 2.使用类  import 包名.类名(可以使用*代表全部) 基本数据类型: 1.标识符 命名的规则: 1.字母,下划线,数字,$,组成,但是数字不能作为开始

重拾Java回忆录(二):Java02类和对象

类:主观的抽象,对象的模版,可以实例化成为对象---定义一种模版,而模版不能直接的使用 ---使用类就需要创建成为对象 --将现实中的具体对象,进行抽象的结果(强调对象之间的相同点,忽略不同的过程) --使用抽象结果: 将模版进行具体化(实例化),用实例化的结果进行操作 习惯上定义类的格式 Package XXX; Import XXX; [修饰符] Class 类名{ 属性:用变量表示(基本数据的类型) 行为:使用方法表示(基本的语句的方法) 构造方法(创建类时使用的方法,主要的功能是给类中的

重拾Java回忆录(十二):Java12线程的使用

进程和线程 进程:一个操作系统中执行的一个子程序,包含虚拟cpu,代码,数据 DOS 多进程:一个操作系统中执行的多个子程序,提高cpu的使用率 线程:在一个进程中同时执行的子程序流 多线程:在一个进程中同时执行的若干的子程序流 进程和线程的区别: 进程有独立的进程空间(存放数据),彼此之间是独立的 线程的堆空间是共享的,栈空间是独立的,而且线程占用的资源比较小,相互之间可以影响 Java中如何使用进程 调用本地程序的类 Runtime:当前的运行环境exec返回结果为process Proce

重拾Java回忆录(七):Java07String和Date的使用

String , StringBuffer , StringBulider的使用 String: 不可改变的Unicode字符序列 内存中会自动的创建一个字符串池(放置公共的数据),如果使用字面值创建字符串,Java就会在次池中查找 StringBuffer : 可变长的Unicode字符序列 (多使用) --允许并发操作,是一个线程安全的 //String s=""; s+="速度速度是" //不应出现 String s="aa"+"

重拾Java回忆录(十):Java10反射机制

反射:在java程序的运行时动态的分析或者使用一个类进行操作 Java.lang.Class :描述类信息的类 类对象: 描述一个类的信息,当jvm加载一个类时,就会产生描述信息对象(反映当前的运行类的信息),称为Class对象 如何获取Class对象 通过类对象可以得到一个类中的结构信息--得到类的组成的情况 Field属性类:类中的属性 Method方法类:方法的描述 Constructor构造方法类:构造方法的描述 Class对象的常用的方法 用途:使用反射创建一个对象 1.获取类对象 2

重拾Java回忆录(四):Java04修饰符的使用

修饰符的使用 1.static :静态修饰符 可以修饰 方法 属性 内部类 代码块 属性 凡是使用static修饰的内容,所有者是整个类(被所有类产生的对象共享) 加载的过程: 在类的加载过程中,静态属性常驻内存(不需要new ,就能开辟存储的空间) 方法 静态块:初始代码块,该代码块只在类加载的时候被执行一次(主要用于静态属性的初值的设定) 设计模式: 单例设计模式 : 一个类只允许产生一个对象(不管使用多少次new ,产生对象是同一个) 2.final最终 不可改变 属性 方法 类 访问的修

重拾Java回忆录(九):java09异常的使用

什么是异常:Java程序运行时产生的错误,java将所有产生的异常封装成为对象,该对象称为Throwable,是所有异常的父类 Throwable中含有2个子类 Error 和 Exception Error:代表是1个程序错误,特指底层的低级的不可恢复的的严重的错误 表现:1.发生Error时.程序会退出,因为失去了运行程序所需要的物理环境 2.我们无法进行处理Error Exception:由于特定的因素,导致程序无法继续,但是不影响JVM的正常的运行 未检查异常(Runntime Exce

重拾Java回忆录(八):Java08集合的使用

集合的使用:如果在程序开发的过程中需要存储多个数据(值,引用),使用集合 值:使用时使用数组  int []  float[] 引用型:集合 1.链式 List:是一个接口(方法定义) 对象的存放是有序的,通过索引下标进行区分,可以存放相同的数据 对象的存放没有数量的限制(下标自动的增长) ArrayList :查询的效率高,增加删除的效率低 --适用于查询类型的集合 Vector : 线程安全 ,支持并发 ,安全性高 LinkedList:查询效率低,但是增加删除的效率极高 底层采用双向循环的

重拾Java回忆录(五):Java05接口的使用

接口的使用 接口(Interface):从本质上说接口是一种特殊的抽象类 特殊点 接口的定义 1.所有的方法应该是public (而且是abstract的) 2.所有的属性应该是publicstatic final 静态常量 3.接口之间可以继承 使用extends (允许多重继承,多个之间 , 间隔) 4.接口中不能有构造方法,不能使用new ,没有main方法 接口的实现 关键字:Implements 1.接口的实现一定是通过类完成的 2.实现接口的类,一定要完成接口中的抽象方法,否则实现类