java内部类、静态内部类 小结

基于CNN的表情识别(FER)pytorch实现 Report for FER Jian Tang Abstract 我们使用卷积神经网络(CNN)实现了baby的面部表情识别(FER)。 数据上,我们获取了开源FER数据集FER2013[1],besides我们使用爬虫获取了baby相关的人脸图片,进行了手工分类标注以形成一个全新的baby FER数据集。 模型上,我们首先复现了Luan[2]的工作,即参考Kuo[3]在CVPR 2018上的工作并实现一个轻量的CNN网络,在FER2013上进行训练并得到了XXXX%的平均分类准确率(avg a 阅读详情

1)首先,用内部类是因为内部类与所在外部类有一定的关系,往往只有该外部类调用此内部类。所以没有必要专门用一个Java文件存放这个类。

2)静态都是用来修饰类的内部成员的。比如静态方法,静态成员变量,静态常量。它唯一的作用就是随着类的加载(而不是随着对象的产生)而产生,以致可以用类名+静态成员名直接获得。这样静态内部类就可以理解了,因为这个类没有必要单独存放一个文件,它一般来说只被所在外部类使用。并且它可以直接被用 外部类名+内部类名 获得。以下举例说明怎么使用:

Student类有个叫School的内部类(非静态)

Student stu = new Student();

stu.School sch = new stu.School();

sch就是School的一个对象。

假如School是内部静态类:

Student.School sch = new Student.School();

3)静态内部类也叫嵌套类,用这个名字给他定义是更加形象的。意思是说内部类和外部类的关系只是层次嵌套关系,所以只是在创建类文件的时候类文件名是如下形式:outer$inner.java,在使用方面完全和两个普通类一样。

和非静态内部类相比,区别就在于静态内部类没有了指向外部的引用。这实际上和C++中的嵌套类很相像了,Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用这一点上,当然从设计的角度以及以它一些细节来讲还有区别。

4)一般内部类在我看来才是真正的内部类,他们不仅有着嵌套关系,更重要的是内部类可以获得外部类的引用从而实现回调。而且通过创建内部类还可已让java实现真正的多继承!(interface名叫接口,顾名思义,他就是实现接口的,让一个类继承多个接口实现多继承是不合适的)

在非静态内部类中不可以声明静态成员,一般的非静态内部类,可以随意的访问外部类中的成员变量与成员方法。即使这些成员方法被修饰为private(私有的成员变量或者方法),其非静态内部类都可以随意的访问。则是非静态内部类的特权。不能够从静态内部类的对象中访问外部类的非静态成员(包括成员变量与成员方法)。

 

如果不需要内部类对象与其外围类对象之间有联系,那么可以将内部类声明为static.通常称为嵌套类。

当内部类是static时,意味着:

[1]要创建嵌套类的对象,并不需要其外围类的对象

[2]不能从嵌套类的对象中访问非静态的外围类对象

嵌套类与普通的内部类还有一个区别:

普通内部类的字段的字段与方法,只能放在类的外部层次上,所以普通的内部类不能有static数据和static字段,也不能包含嵌套类.但是在嵌套类里可以包含所有这些东西。

java static class:

http://klcwt.iteye.com/blog/452834

 

vasp和ms_武汉理工大学赵焱课题组开发脚本 MS建模一键获取VASP输入文件POSCAR 本文给大家推介并分享一个通过Materials Studio一键获取VASP输入文件POSCAR的脚本,xsd2pos.pl。此脚本是武汉理工大学首席教授赵焱在帮助学生解决VASP计算问题时编写,解决了其他间接非手动获取POSCAR存在的问题,同时也相较于其他方法更为便捷,相信会对从事VASP计算的同行们带来便利。赵焱老师怀着哺育天下学子的情怀,希望给大家分享一下。下文介绍一下它的使用方法以及它所... 阅读详情

相关推荐

WPS Office 2026免费安装指南:AI办公与安全使用全解析

办公软件作为数字化办公的核心工具,其基本原理是通过文档处理、数据计算和演示展示等功能模块满足用户日常办公需求。随着人工智能技术的发展,现代办公软件逐步集成AI能力,通过自然语言处理和数据分析算法提升工作效率。在技术价值层面,优秀的办公软件不仅需要保持格式兼容性和跨平台同步能力,更要注重用户数据安全防护。从应用场景来看,无论是个人文档编辑、企业报表分析还是团队协作演示,办公软件都发挥着关键作用。WPS Office 2026作为国产办公软件代表,深度融合AI助手功能,支持智能写作和数据分析,同时通过官方免费策

weixin_30599769的博客 721

内部类与静态内部类

起源:JDK1.1开始,新增加了内部类的特性。现在很多设计模式中都会用到这一特性,用好内部类,能够让你更加灵活的设计你的系统。 一、什么是内部类? 顾名思义,内部类是定义在另一个类中的类,主要特性有两点: 内部类方法可以访问该类定义所在的作用域中的数据,包括私有的数据 内部类可以对同一个包的其他类隐藏 内部类共有以下四种: 1. 普通内部类(成员内部类):常规内部类没有用static修饰且定义...

Lotterest的博客 1017

creo二次开发使用映射

在creo进行二次开发时,一些无法直接通过访问底层代码来对特征进行操作,比如“镜像装配”,这个时候就可以使用映射(Mapkey)来完成一键镜像。 注:这是镜像装配的代码 ProError status; ProMacro macro; wstring Macro; strMacro = L"mapkey(continued) ~ Command ProCmdMirrorAssem ; mapkey(continued) ~ Activate mirror_component_dialog Sy

qq_49328512的博客 1618

成员内部类、静态内部类、局部内部类和匿名内部类(超详细!!!)

public class A{//外部类static class B{//静态内部类public class A{//外部类static class B{//静态内部类public void print(){//访问外部类的非静态成员需要创建外部类的对象//这是一个内部类,定义在inner方法中//这是一个内部类,定义在代码块中//这是一个内部类,定义在inner方法中//访问外部类的私有属性hi();//访问外部类的私有方法10hi。

阿鹏的博客 2076

ABAP传输自定义IDOC实例

首先确定出站方和入站方,本例中我使用150作为发送方将200作为接收方。 发送端系统配置 进入tcode-SALE,点击定义逻辑系统,这里我定义D01CLNT150为发送端, D01CLNT200为接收端 2,将逻辑系统分配给对应的client 3,进入tcode-WE31,创建IDOC开发段(segment)这里可以按照实际需求创建想要传输的结构,为求简单我创建了ZKNA1并选取了几个客户主数据的字段作为示例 4,进入tcode-WE30,创建Idoc Ty...

Nathan的博客 4077

云计算 | 期末梳理(上)

2024云计算回忆版 && 复盘向梳理

知识库搭建ing 2231

Java枚举类

Java的内部类详解(成员内部类、静态内部类、局部内部类、匿名内部类)

yu的博客 5808

精密装配机器人系列编程:ABB IRB 120_(20).编程项目设计与实施

在精密装配机器人系列编程中,项目的成功设计与实施涉及多个关键步骤。从项目需求分析到最终调试,每一个环节都需要细致的考虑和专业的技术。选择合适的编程语言、设计良好的程序结构、掌握调试技巧以及解决常见问题,都是确保机器人高效、稳定运行的重要因素。通过不断优化和改进,可以提高生产效率和产品质量,满足不断变化的生产需求。

zhubeibei168的博客 1243

Java内部类之普通内部类与静态内部类

内部类的基本概念 概念:当一个类的的定义出现在另一个类的内部时,这个类被称作内部类(Inner),而这个类所在的类称为外部类(Outer)。 类中可以有的内容有:成员变量,成员方法,构造方法,构造块,代码块,内部类。 内部类的意义 实际意义:当一个类存在的意义是为另一个类服务时,就可以将该类定义在所要服务类的内部,这样可以隐藏该类的具体实现细节,而且内部类可以直接访问外部类的私有成员,而不用外部类再提供公有的set、get方法。 内部类的分类 普通内部类:定义在外部类类体中的非静态类。 静态内部类:定义在

Demon_LMMan的博客 797

一文搞懂 JavaScript 模块化规范:CommonJS、AMD、ES6 Module

在现代 JavaScript 开发中,模块化是提升代码组织性和可维护性的关键。本文深入解析三种主流的模块化规范——CommonJS、AMD 和 ES6 Module。

Allen- 3479

PCL 读取和保存点云

PCL (Point Cloud Library) 是一个用于处理 3D 点云数据的开源库。在处理点云数据时,常见的任务包括点云的读写和可视化。PCL 提供了强大的 IO 模块来读取和写入各种格式的点云文件,并且提供了可视化模块来对点云进行渲染和显示。点云的读写与显示是很多 3D 数据处理任务的基础步骤,通过这些步骤,可以对点云进行预处理、分析和操作。

纵马踏花向自由 1739

Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结

内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液、跳动) 显然,此处不能单方面用属性或者方法表示一个心脏,而需要一个类 而心脏又在人体当中,正如同是内部类在外部内当中   实例1:内部类的基本结构 1

cws1214的专栏 6125

【微服务】SpringBoot 4.0 新特性整合项目实战应用详解

SpringBoot 4.0 新特性整合项目实战应用详解

congge 4588

6 定义静态类_Java 内部类与外部类的互访使用小结

内部类又称为嵌套类,可以把内部类理解为外部类的一个普通成员。内部类访问外部类里面的可以自由访问外面的,规则和static一样。(访问非静态时必须先创建对象)具体如下:非静态内部类的非静态方法直接访问public class Outter {int i = 5;static String string = "Hello";class Inner1{void Test1 (){System.out.p...

weixin_39553600的博客 148

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java学习(71)Java多态——方法内部类

Java学习(71)Java多态——方法内部类

weixin_43360025的博客 623

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

kotlin静态内部类和java静态内部类的区别

首先我们看下RecyclerView的ViewHolder的写法,java和kotlin分别用静态内部类进行实现,代码是随意找的: java静态内部类: static class EndViewHolder extends BlocksView.ViewHolder { public EndViewHolder(View itemView) { super(itemView); itemView.setMinimumHeight

王温暖的博客 8151

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Java 静态内部类 与 非静态内部类的区别?什么时候用静态内部类,又是什么时候用非静态内部类?

Java中内部类加载时间:一般是只有运到了才会初始化,而不是外部内加载的时候(不管是静态还是非静态内部类)。 注意到一个问题: 内部类只有是静态的,其内部类中才能有静态属性和静态方法; 如果内部类非静态的,其内部类不能有静态属性和静态方法。 例子: public class OutClass { static{ System.out.println("OutCla

方丈的博客 7754

Java 静态内部类、成员内部类详解

非静态内部类,都不能有static成员和static方法。静态属性不依赖于对象,因为它保存在jvm的静态区,所以访问时不需要有存活的对象;而非静态内部类也相当于外部类的非静态属性,而它的表现也符合非静态(需要外部类对象才能创建内部类对象)。而如果一个非静态内部类有了静态属性,而静态属性又不依托于任何内部类实例,这就会破坏非静态内部类的语义。 ...

anlian523的博客 1361

java静态内部类有什么好处6_java的内部类和静态内部类(嵌套类)

背景开发新项目,写Swager的mode的时候用到了嵌套Model,于是在代码中,出现了静态内部类。在codeReview的时候稍微和大家聊了一下。尤其是Static 修饰类和修饰对象和变量不一样呢?定义1. 内部类可以将一个类的定义放在另一个类的定义内部,这就是内部类;嵌套类是其封闭类的成员。非静态嵌套类(内部类)可以访问封闭类的其他成员,即使它们被声明为私有的也是如此。静态嵌套类无权访问封闭类...

weixin_29117669的博客 2010

Java静态内部类和非静态内部类

一、非静态内部类: 1、变量和方法不能声明为静态的。(类的编译顺序:外部类–静态方法或属性–内部类,如果内部类声明为静态的,造成编译顺序冲突。个人理解) 2、实例化的时候需要依附在外部类上面。比如:B是A的非静态内部类,实例化B,则:A.B b = new A().new B(); 3、内部类可以引用外部类的静态或者非静态属性或者方法。 二、静态内部类: 1、属性和方法可以声明为静态的或者非静态的...

花江的博客 1838

Java静态内部类与非静态内部类的区别

Java静态内部类与非静态内部类的区别 1 static 静态修饰符 在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的。 static修饰表示静态的,在类加载时JVM会把它放到方法区,被本类以及本类中所有实例所公用。在编译后所分配的内存会在一直存在,直到程序退出内存才会释放这个空间。如果一个被所有实例公用的方法被申明为static,那么就可以节省空间了,不用每个实例初始化的时候都被分配到内存。 2.内部类 定义在一个类内部的类叫内部类,包含内部类的类称为外部类。内部类可以声明public、pr

DDDDeng_的博客 620
上一篇: C++处理异常 try,catch,throw
下一篇: 从一道题谈C++中构造函数调用构造函数
codestinity
博客等级 码龄16年 29粉丝 7原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值