java中四种内部类

易灵思FPGA-软件Efinity和Modelsim联仿设置 文章目录前言一、modelsim破解过程二、使用步骤1.引入库2.读入数据总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智 阅读详情

一、局部内部类

局部内部类是定义在外部类的局部位置,比如方法中或者代码块中,并且有类名

1、可以直接访问外部类的所有成员,包含私有的。

2、不能添加访问修饰符,因为它的地位就是一个局部变量。局部变量是不能使用修饰符的。但是可以使用final修饰,因为局部变量也可以使用final修饰。

3、作用域:仅仅在定义它的方法中或代码块中。

4、局部内部类访问外部类成员(直接访问)

5、外部类访问局部内部类成员,访问方式:创建对象,在访问(必须在作用域中)

6、外部其他类不能访问局部内部类(因为局部内部类地位是一个局部变量)

7、如果外部类和局部内部类的成员重名时,默认遵循就近原则,如果想访问外部类的成员,则可以使用(外部类名.this.成员)去访问。

外部类名.this.成员 -  外部类.this其实就是哪个对象调用成员,外部类.this就是哪个对象。

 

二、匿名内部类

匿名内部类既是一个类的定义,同时它本身也是一个对象

1、可以直接访问外部类的所有成员,包含私有的。

2、不能添加访问修饰符

3、作用域:仅仅在定义它的方法中或代码块中。

4、匿名内部类访问外部类成员(直接访问)

5、外部其他类不能访问局部内部类(因为局部内部类地位是一个局部变量)

6、如果外部类和匿名内部类的成员重名时,默认遵循就近原则,如果想访问外部类的成员,则可以使用(外部类名.this.成员)去访问。

 

三、成员内部类

成员内部类是定义在外部类的成员位置,并且没有static修饰

1、可以直接访问外部类的所有成员,包含私有的。

2、可以添加任意访问修饰符(public  protected  默认  private)因为它的地位是一个成员

3、作用域和外部类其他成员一样,为整个类体。

4、成员内部类访问外部类成员(直接访问)

5、外部类访问局部内部类,访问方式:创建对象,在访问。

6、外部其他类访问成员内部类(两种方式)

     方式1:比如  Outter outter = new Outter();   Inner inner = outter.new Inner()

    方式2:提供一个方法比如

public  Inner  getInner() {

       return new Inner()

}

Outter outter = new Outter();

Inner inner = outter.getInner();

 7、如果外部类和成员内部类的成员重名时,默认遵循就近原则,如果想访问外部类的成员,则可以使用(外部类名.this.成员)去访问。

 

四、静态内部类

静态内部类是定义在外部类的成员位置,并且有static修饰

1、可以直接访问外部类的所有成员,包含私有的。但不能直接访问非静态成员

2、可以添加任意访问修饰符(public  protected  默认  private)因为它的地位是一个成员

3、作用域和外部类其他成员一样,为整个类体。

4、静态内部类访问外部类(访问方式直接访问静态属性)

5、外部类访问静态内部类,访问方式:创建对象,在访问。

6、外部其他类访问静态内部类(两种方式)

// 方式1

Inner inner = new Outter.Inner();

// 方式2
public static Inner getInner() {
    return new Inner();
}

Inner inner = outter.getInner()

7、如果外部类和静态内部类的成员重名时,默认遵循就近原则,如果想访问外部类的成员,则可以使用(外部类名.成员)去访问。

UNITY3D万人同屏,Dots万人同屏解决方案_类萌宠宠之战 UNITY3D弹幕游戏开发,万人同屏解决方案 阅读详情

相关推荐

从零到一:基于Rocky Linux 9的Kubernetes高可用集群部署实战

本文提供了一份基于Rocky Linux 9操作系统,从零开始部署Kubernetes高可用集群的完整实战指南。详细讲解了包括系统初始化、容器运行时配置、使用kubeadm工具进行集群初始化、节点加入以及Calico网络插件安装在内的核心步骤,并针对国内网络环境提供了镜像加速等优化方案,旨在帮助读者构建一个稳定可靠的生产级K8s环境。

weixin_29197835的博客 138

Java——内部类

成员内部类是定义在一个外部类的成员位置的的类,没有 static 修饰。class MemberInnerClass { // 成员内部类静态内部类是定义在一个外部类的成员位置的的类,有 static 修饰。static class StaticNestedClass { // 静态内部类它的地位就相当于外部类的一个静态成员。局部内部类定义在方法、构造器或代码块内部,类似于方法的局部变量。它的作用域仅限于定义它的块中。class LocalInnerClassA { // 在构造器中定义局部内部类。

Stewie Lee的博客 1万+

分享一些基于微信小程序开发的小游戏源码

小游戏小程序是运行在微信生态系统(或其他支持小程序的平台)中的轻量级应用程序,专为休闲游戏体验而设计的小程序子类别,小游戏小程序通常体积较小,加载速度快,用户无需等待长时间即可开始游戏。用户无需下载或安装单独的游戏应用程序,即可通过小程序入口直接进入游戏,同时小游戏小程序通常包含排行榜、分享功能等社交元素,可以增强游戏体验并促进用户参与。game.js:游戏页面的逻辑文件,包含页面数据、生命周期函数、事件处理函数等。game.wxml:游戏页面的结构文件,定义了页面的布局和组件。

xinshangdian的博客 6231

【Java|基础篇】内部类

内部类就是在一个类中再定义一个类,内部类也是封装的体现.它可以被声明为public、protected、private 或默认访问控制符。内部类可以访问外部类的所有成员变量和方法,包括私有成员。内部类可以用来实现一些特殊的功能,比如实现回调函数、事件处理等。常见的内部类包括实例内部类(成员内部类)、静态内部类、本地内部类、匿名内部类等。内部类在Java中的一个重要特性,要重点掌握实例内部类,静态内部类和匿名内部类.希望这篇文章能帮到你!专栏:《从零开始的Java学习之旅》在不断更新中,欢迎订阅!

云泽野の编程日记 1万+

LM1875官方电路图元件作用解释说明以及电路调校

R1是为C1提供充放电回路用的电阻,这是老外工作严谨的地方,其实接好电位器之后直流通路就已经存在了,这个加上只能防止最恶劣情况时也能把C1的电能放掉,尽管只有一点点 C1是输入电容,主要作用是隔离前后级的直流信号,但是这个电容对音质的影响很大,可以换用不同的品牌和容量来部分修改音质和音色 R2提供LM1875正输入端的直流电平控制点,接地就表示在理想情况下Lm1875的输出直流电平是0V;还有一个作用就是确定放大器的交流输入阻抗为电阻值。 R3、R4是反馈电阻,这个电路的放大倍数为R4/R3+1=21倍。.

m0_50862404的博客 1万+

从零到一:ASTER L2数据获取的实战避坑指南

本文提供了一份详细的ASTER L2数据获取实战指南,涵盖账号注册、环境配置、数据检索、下载故障排除及后处理等关键步骤。特别针对NASA EarthData平台的隐形门槛和常见陷阱,给出了实用解决方案,帮助科研新手高效获取地表温度数据,适用于环境监测和城市热岛效应分析等领域。

weixin_29061425的博客 519

java中的内部类

匿名内部类是没有名称的内部类。在Java中调用某个方法时,如果该方法的参数是接口类型,除了可以传接口实现类外,还可以使用实现接口的匿名内部类作为参数,在匿名内部类中直接完成方法的实现。}}@OverrideSystem.out.println("学生韩梅梅正在吃饭");}}@OverrideSystem.out.println("老师李华正在吃饭");}}}}}}}@OverrideSystem.out.println("学生韩梅梅正在吃饭");}...

yahid的博客 1万+

(三十九)Flask 多应用架构(Multiple Apps)与 DispatcherMiddleware 实战解析

(三十九)Flask 多应用架构(Multiple Apps)与 DispatcherMiddleware 实战解析

孤寒者的博客 1万+

Java内部类(超详细)

内部类就是在一个类或方法中定义的类。内部类又分为成员内部类,静态内部类,匿名内部类和局部内部类。 成员内部类是定义在类的内部,作为类的成员的类。 特点如下: 内部类可以直接访问外部类的

m0_63785629的博客 4911

基于Simulink的基于MPC的实时ZMP约束步态优化仿真

本文完成了基于Simulink的MPC实时ZMP约束步态优化仿真,实现了:✅ 建立3D-LIPM预测模型✅ 设计带ZMP可行域约束的MPC优化器✅ 实现闭环实时求解与扰动抑制✅ 验证强鲁棒性与安全性✅ 为人形机器人野外行走、人机交互提供先进控制方案。

xiaoheshang_123的博客 86

【Mode Management】AUTOSAR架构下RH850-F1KM芯片深度休眠配置实践

AUTOSAR架构下RH850-F1KM芯片深度休眠配置实践

qq_36056498的博客 1089

​java-内部类详解

​java-内部类详解 内部类 定义:把类定义在其他类的内部,这个类被称为内部类(嵌套类)。 分类:根据其所在位置及形式的不同,分为成员内部类、静态内部类、局部内部类、匿名内部类。 1、成员内部类(联想到成员变量和成员方法,内部类所在位置和类的成员同级) // 外部类class OuterClass01 { // 成员内部类 class InnerClass01 { } } 观察一下生成的字节码文件,有两个:OuterClass01.class、OuterClass01$In..

我是香菜 2万+

在 FreeStyle SAP UI5 应用里优雅落地 Draft 草稿机制:用 DraftManager 封装 DraftController 的一套实战套路

SAP Fiori应用中,Draft草稿机制是解决业务中断、多人协作和长表单填写等痛点的核心能力。本文提出了一套针对FreeStyle SAP UI5应用的Draft管理方案,通过封装sap.ui.generic.app.transaction.DraftController为DraftManager服务类,将复杂的草稿操作逻辑集中管理。该方案实现了草稿的创建、激活、丢弃等核心功能,使控制器只需调用简单意图式API即可完成操作,同时解决了组件化架构下的上下文切换、统一错误处理等问题。文章还详细介绍了后端Dr

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2751

java四种内部类

java四种内部类 成员内部类 静态内部类 局部内部类、 匿名内部类。 1.成员内部类 定义在一个类(外部类)的内部,而且与成员方法、属性平级的类叫成员内部类,…相当于外部类的非静态方法,如果被static修饰,就变成静态内部类了。 public class Person { private int age; private String name; public void run() { System.out.println("run......."); } class User{

罗罗的1024 868

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Java 之四种内部类详解

内部类是 Java 中一种强大的机制,它可以帮助我们编写更简洁、更易于维护的代码。选择哪种内部类取决于具体的场景需求。

weixin_64178283的博客 1449

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Java-四种内部类

成员内部类是定义在其他类的内部,并且与外部类的实例关联的类。成员内部类可以访问外部类的所有成员,包括私有成员。局部内部类是定义在方法或作用域内的类。它们只能在定义它们的方法或作用域内被访问,对外部类的其他部分是不可见的。匿名内部类是没有显式定义类的名称的内部类。通常用于创建一个实现某接口或继承某类的对象。静态内部类是定义在其他类内部的类,并使用static修饰符。与其他内部类不同,静态内部类不与外部类的实例相关联。

__猫玖__的博客 1092

Java四种内部类的区别

内部类 内部类:在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括四种:成员内部类、静态内部类、匿名内部类、局部内部类。 (1)成员内部类 **定义:**成员内部类是最普通的内部类,它的定义为位于一个类的内部。 **权限:**成员内部类可以无条件访问外部类的所有成员属性和成员方法。 同名变量与方法:要注意的是,当成员内部类拥有和外部类同名的成员变量或者方法时,会发生隐藏现象,即默认情况下访问的是成员内部类的成员,如果要访问外部类的同名成员,ch需

bianbianshaonian的博客 1401

JAVA中的四种内部类

例如,在一个方法中,根据不同的参数值创建不同的匿名内部类对象来实现不同的功能,而这些对象都可以通过相同的接口或父类类型进行统一处理,进一步体现了多态的优势。比如,当一个类的内部有多个相互关联的静态类,且这些静态类需要有一定的封装性和独立性时,就可以使用静态内部类。匿名内部类是Java中一种特殊的内部类,它没有显式的类名,并且通常是在需要使用某个类的实例的地方直接定义并创建。- 外部类可以通过静态内部类的类名直接访问静态内部类的静态成员,也可以通过创建静态内部类的对象来访问其非静态成员。

2402_86100191的博客 522

java的四种内部类详解

类型静态成员访问外部类非静态成员实例化方式应用场景静态内部类✔️❌外部类名.静态内部类名独立关联外部类的工具类成员内部类❌(final除外)✔️外部类实例.new 成员内部类()需频繁访问外部类实例的场景局部内部类❌✔️(final或有效final方法内直接实例化仅在方法内使用的辅助类匿名内部类❌❌(需通过继承/实现间接访问)new 父类/接口(){...}一次性实现接口或继承类。

qq_45870087的博客 552

java-四种内部类

内部类举例 java-四种内部类简介

m0_59605707的博客 86

Java中的四种内部类

四种内部类 在Java 中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的 内部类一般来说包括这四种:静态内部类、匿名内部类、成员内部类和局部内部类,下面我们一一介绍。一. 成员内部类 成员内部类,顾名思义,是作为对象的一个成员来定义的类。 下面给出代码例子: public class Test2 { public int a = 0; public double b = 0.0; //成员内部类 class T1{

qq_49044908的博客 2478

Java四种内部类

1、基本用法 1.实现多继承。 2.可以将一定类组织在一起同时对外界隐藏。 2、成员内部类 1.成员内部类依附于外部类存在,创建成员内部类,必须先创建一个外部类对象。 2.成员内部类可以定义变量,不允许定义常量和静态属性 3.成员内部类可以访问外部类所有成员和方法。 3、静态内部类 1.静态内部类不需要依附于外部类,不能使用外部类非静态属性和方法,只可以访问静态属性。 4、局部内...

qq_27243963的博客 335

JAVA四种内部类理解

在java中,将一个类定义在另一个类里面或者方法里,我们称之为内部类。 内部类可以拥有private访问权限、protected访问权限、public访问权限及包访问权限。如果成员内部类Inner用private修饰,则只能在外部类的内部访问,如果用public修饰,则任何地方都能访问;如果用protected修饰,则只能在同一个包下或者继承外部类的情况下访问;如果是默认访问权限,则只能在同一个...

lyly4413的博客 324

java四种内部类区别_3.6 Java内部类四种类型

在Java中,内部类有四种不同的类型。这篇文章用四个简单的例子来阐明它们。1.静态嵌套类class Outer {static class Inner {void go() {System.out.println("Inner class reference is: " + this);}}}public class Test {public static void main(String[] a...

weixin_26872803的博客 317

Java 中四种内部类

【代码】Java 中四种内部类。

m0_57836225的博客 279

Java 内部类的四种实现方式

Java 内部类的四种实现方式 前言 今天的话我将为大家介绍Java的四种内部类,他们分别是普通内部类,静态内部类,局部内部类,匿名内部类。 提示:以下是本篇文章正文内容,下面案例可供参考 一、内部类是什么? 当一个类的定义出现在另外一个类的类体中时,那么这个类叫做内部类(Inner),而这个内部类所在的类叫做外部类(Outer)。 当一个类存在的价值仅仅是为某一个类单独服务时,那么就可以将这个类定义为所服务类中的内部类,这样可以隐藏该类的实现细节并且可以方便的访问外部类的私有成员而不再需要提供

云梦归遥【qq_45834685】 3398

Java的四种内部类各有其用,别再记错了

Java 内部类分为四种类型:成员内部类、局部内部类、匿名内部类和静态内部类。每种类型都有其特定的用途和优缺点,选择合适的类型可以提高代码的灵活性和可维护性。

QiuMing 737
上一篇: Object里的wait()和notify()
下一篇: Java枚举类
Hi@Sunshine
博客等级 码龄9年 49粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值