Java内部类的分析和整理

死区补偿---学习笔记 最近调试中发现,死区补偿对电流谐波和电流带宽影响挺大,于是对死区补偿产生浓厚兴趣,找来几篇文章粗读并做一下笔记。 传统做法 无非就是根据电流方向补偿,假如svpwm计算出的A相理论导通实践为T1,死区时间是Td,则实际导通时间T = T1-Td(when ia >0 ),于是在svpwm计算出的导通时间T1的基础上加上Td。这样经过PWM模块后,实际的导通时间即为T1. 但存在两个难点(个人总结): 1,受电流检测精度影响,尤其是在过零点检测困难。 2,真实的二极管导通需要一定电压,并非.. 阅读详情

原文出处:http://www.java2000.net/viewthread.jsp?tid=7183

测试代码如下

package test.jdk;

/**
 * 内部类的收集与整理
 * 
 * @author 赵学庆 www.java2000.net
 */
public class InnerTest {
  private String instAtt = "实例变量";

  private static String staticAtt = "静态变量";

  public void test() {
    int methodAtt = 1;
    final int methodFinalAtt = 2;
    // 非静态方法里的内部类
    class staticMethodInnerClass {
      @Override
      public String toString() {
        // 非静态方法里无法访问实例的外部变量
        System.out.println("非静态方法的内部类可以访问外部类的实例变量:" + instAtt);
        System.out.println("非静态方法的内部类可以访问外部类的静态变量:" + staticAtt);
        // 非静态方法里无法访问方法的非final的变量
        // System.out.println(methodAtt);
        System.out.println("非静态方法的内部类可以访问方法的final变量:" + methodFinalAtt);
        return "my nickname is white";
      }
    }
    new staticMethodInnerClass().toString();
    new Object() {
      @Override
      public String toString() {
        System.out.println("非静态方法的匿名内部类可以访问外部类的实例变量:" + instAtt);
        System.out.println("非静态方法的匿名内部类可以访问外部类的静态变量:" + staticAtt);
        // 静态方法里匿名内部类无法访问方法的非final的变量
        // System.out.println(methodAtt);
        System.out.println("非静态方法的匿名内部类可以访问方法的final变量:" + methodFinalAtt);
        return "我是匿名内部类";
      }
    }.toString();
  }

  public static void main(String blackbat[]) {
    int methodAtt = 1;
    final int methodFinalAtt = 2;
    // 静态方法里的内部类
    class staticMethodInnerClass {
      @Override
      public String toString() {
        // 静态方法里无法访问实例的外部变量
        // System.out.println(instAtt);
        System.out.println("静态方法的内部类可以访问外部类的静态变量:" + staticAtt);
        // 静态方法里无法访问方法的非final的变量
        // System.out.println(methodAtt);
        System.out.println("静态方法的内部类可以访问方法的final变量:" + methodFinalAtt);
        return "my nickname is white";
      }
    }
    new staticMethodInnerClass().toString();
    new Object() {
      @Override
      public String toString() {
        // 静态方法的匿名内部类不能访问外部类的非静态变量
        // System.out.println("非静态方法的匿名内部类可以访问外部类的非静态变量:" + instAtt);
        System.out.println("非静态方法的匿名内部类可以访问外部类的静态变量:" + staticAtt);
        // 静态方法里匿名内部类无法访问方法的非final的变量
        // System.out.println(methodAtt);
        System.out.println("非静态方法的匿名内部类可以访问方法的final变量:" + methodFinalAtt);
        return "我是匿名内部类";
      }
    }.toString();
    new InnerTest().test();
    // 建立静态内部类(static Inner Class)的对象
    ImOutClass.StaticInnerClass staticIC = new ImOutClass.StaticInnerClass();
    staticIC.access();
    /*
     * 建立非静态内部类(non-static Inner Class)的对象. 
注意这种建立对象的格式 首先创建外部类的对象 然后使用对象.new 来创建。 */ ImOutClass outC = new ImOutClass(); ImOutClass.InstInnerClass inC = outC.new InstInnerClass(); inC.access(); } } class ImOutClass { private static String staticAtt = " 外部类的类变量 "; private String instAtt = " 外部类的实例变量 "; private static String xx = "外部静态变量"; // private String xx = "外部类的实例变量"; // 外部类的非静态方法 public void instanMethod() { System.out.println(" 和外部类实例方法 "); } // 外部类的静态方法 public static void staticMethod() { System.out.println(" 和外部类静态方法 "); } // 静态内部类(static Inner Class) public static class StaticInnerClass { public StaticInnerClass() { System.out.println(" 我是静态内部类 "); } public void access() { System.out.println(" 我可以访问 " + staticAtt); staticMethod(); System.out.println(" 我可以访问外部的静态变量 " + xx); // 非静态的方法 instanMethod() 无法从静态的地方使用 // instanMethod(); } } // 非静态内部类(non-static Inner Class) public class InstInnerClass { public InstInnerClass() { System.out.println(" 我是成员级内部类,非静态内部类 "); } public void access() { System.out.println(" 我可以访问 " + instAtt); instanMethod(); staticMethod(); System.out.println(" 我可以访问外部的静态变量 " + xx); } } }

 

运行结果为

静态方法的内部类可以访问外部类的静态变量:静态变量
静态方法的内部类可以访问方法的final变量:2
非静态方法的匿名内部类可以访问外部类的静态变量:静态变量
非静态方法的匿名内部类可以访问方法的final变量:2
非静态方法的内部类可以访问外部类的实例变量:实例变量
非静态方法的内部类可以访问外部类的静态变量:静态变量
非静态方法的内部类可以访问方法的final变量:2
非静态方法的匿名内部类可以访问外部类的实例变量:实例变量
非静态方法的匿名内部类可以访问外部类的静态变量:静态变量
非静态方法的匿名内部类可以访问方法的final变量:2
 我是静态内部类
 我可以访问  外部类的类变量
 和外部类静态方法
 我可以访问外部的静态变量 外部静态变量
 我是成员级内部类,非静态内部类
 我可以访问  外部类的实例变量
 和外部类实例方法
 和外部类静态方法
 我可以访问外部的静态变量 外部静态变量







<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
Android 12.0 kenel中修改rom系统内部存储的大小 在12.0的系统rom产品开发定制中,在对一些产品开发中的配置需求方面,由于在产品后续订单中,有些产品是出口的,但是硬件方面已经定板,时间比较仓促,所以 就需要软件方面在rom内部存储的大小方面作假,修改rom真实的大小容量,所以就需要在kenel驱动部分来修改这部分的值最好了,接下来分析下计算rom容量的 相关代码,然后做出相关的修改,来实现功能 阅读详情

相关推荐

Ubutntu下使用realsense d435i(二):获取某二维像素点的三维坐标

00 准备工作 准备工作包括安装驱动以及pyrealsense2,具体可参考上一篇: Ubutntu下使用realsense d435i(一):准备工作以及安装pyrealsense2 https://blog.csdn.net/gyxx1998/article/details/121461293 01 通过二维像素点获得物体三维坐标 这个在上一篇已经介绍了代码: realsense d435i获取某像素点三维坐标(计算深度和点云两种方法) https://blog.csdn.net/gyxx1998/

gyxx1998的博客 9945

Java基础(容易忽略重要知识整理!)

Java基础(容易忽略重要知识整理!) 出自B站狂神说笔记===== 文章目录Java基础(容易忽略重要知识整理!)一、类型转换二、变量命名三、逻辑运算符四、位运算符五、用户交互Scanner六、Switch选择结构七、For增强循环八、方法的定义1、方法的定义2、方法重载与重写区别九、命令行传递参数10、可变参数11、递归12、数组13、Java内存分析14、Arrays类1.简介2.Java中Arrays类的常用方法15、对象1、构造方法16、继承 一、类型转换 二、变量命名 三、逻辑运算

weixin_45158397的博客 642

常用的集成TTL门电路

本篇主要分析了常用的逻辑门电路与非门,详细分析了电源原理。值得收藏。

ManagerUser的博客 5089

Java最全面试题专题---1、Java基础知识(2)

笔者有七八年的面试者经验,负责公司技术同学的社招和校招,近些年面试过三四百个技术同学,考虑接近年底这个时段,整理并更新一些以往的面试经验,希望同学们跳槽能有个更好的工作,如有需要的同学可以关注下笔者,近期会迭代更新。这章更新Java面向对象的面试题。

u014526891的博客 1092

飞控算法-姿态解算之互补滤波

飞控乱入之姿态解算 姿态解算是通过读取各个传感器的数据进行融合最终得到当前飞行器的姿态,姿态通常用Euler角(Roll-Pitch-Yaw)来表示 姿态解算框架 姿态解算的数据源可来自于陀螺仪或加速度计,他们分别都可以得到当前姿态,但实际上他们都有各自的传感器性能的优缺点,需要取长补短,进行数据融合才能得到真实的姿态,这种方法简称 互补滤波 算法 传感器特性 互补滤波 姿态解...

GoolyOh的专栏 1万+

Halcon Socket TCP通讯:从算子调用到工业视觉系统集成

本文详细介绍了Halcon Socket TCP通讯在工业视觉系统中的应用与优化技巧。从基础算子调用到高并发处理,再到与PLC、机器人及MES系统的集成实战,提供了全面的解决方案和性能优化建议,帮助开发者高效实现工业视觉系统的通讯需求。

weixin_33502772的博客 248

java中单例_浅谈java中单例的几种写法

开发中或多或少都会用到单例模式,写法有很多种,这里收集整理了下:1、懒汉式:1)把构造方法定义成private的,不让外面new的方式生成实例;2)提供一个static方法供外部调用,在这个方法里面返回实例;public class SingleInstance {private static SingleInstance singleInstance;private SingleInstance...

weixin_39673002的博客 136

YOLOv11全方位改进指南:卷积层、轻量化、注意力、损失函数等创新优化一览

YOLOv11通过八大核心模块的创新设计,在保持YOLO系列实时性的同时显著提升检测精度。本文提出的可变形卷积DCNv4多模态注意力动态解耦头等创新方案,已在工业质检、自动驾驶、无人机巡检等领域成功应用。完整项目地址预训练模型:包含从nano到x六个规格在线演示创新声明首次在YOLO系列集成DCNv4,小目标检测AP提升8.2%提出多模态混合注意力(MMAttention),兼顾通道与空间关系动态标签分配策略使训练效率提升40%

QQ_778132974的博客 1019

JAVA基础-如何正确地写出单例模式

本文介绍了JAVA单例模式的各种写法:懒汉、饿汉、双重检验锁、静态内部类、枚举。

致橡树 272

RK3588芯片USB OTG模式切换:Device到Host的驱动奥秘之旅

摘要:本文详细介绍了RK3588芯片USB OTG模式从Device到Host的完整驱动流程,包括硬件电路设计、内核驱动配置、模式切换机制及验证方法。RK3588芯片凭借强大的性能和灵活的USB OTG特性,在工业控制、智能家居等领域具有广泛应用前景。文章重点分析了Type-C接口设计、USBPHY芯片选型、Linux内核模块配置等关键技术要点,并提供了模式切换脚本使用方法和常见问题解决方案,为开发者实现RK3588 USB OTG功能提供了全面指导。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 743

EtherCAT主站IGH-- 49 -- 搭建xenomai系统及自己的IGH主站

以上就是搭建xenomai系统及自己的IGH主站的内容。有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。创作不容,如果文档对您有帮助,记得给个赞。

常驻客栈的博客--嵌入式EtherCAT 3166

Java面向对象(知识点整理)

文章目录面向对象类与对象匿名对象创建对象的内存分析栈(stack)堆(heap)方法区PC寄存器本地方法栈内部类成员内部类局部内部类匿名内部类静态内部类包装类拆箱和装箱操作字符串转换基本数据类型和包装类型的区别Integer类型的重点抽象类抽象方法不能被实例化常见问题抽象类和普通类的区别接口面向接口编程思想全局常量和抽象方法的简写接口的实现 implements接口的继承 extends接口与抽象类的区别多态多态的体现多态的使用:对象的类型转换InstanceofObject类Object的多态toStri

yang642019851的博客 7万+

Python 爬虫实战:豆瓣电影海报批量获取(Top250 榜单 + 可视化展示)

在信息爆炸的时代,数据已成为决策的核心,而数据的获取是数据分析的第一步。本文将详细介绍如何利用 Python 爬虫获取豆瓣电影 Top250 榜单的海报,并对数据进行可视化展示,助你更好地了解电影市场的趋势和用户的喜好。

yansideyucsdn的博客 719

Java 内部类分析

内部类是指在一个外部类的内部再定义一个类,类名不需要和文件夹相同。内部类可以声明 public 、protected 、private 等访问限制,可以声明为 abstract的供其他内部类或外部类继承与扩展,或者声明为static 、final 的,也可以实现特定的接口(而外部顶级类即类名和文件名相同的只能使用 public 和 default)。static 的内部类行为上象一个独立的类,非 static 在行为上类似类的属性或方法且禁止声明 static 的

ZHI_YUE的博客 220

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

夯实Java基础系列8:深入理解Java内部类及其实现原理

本文主要介绍了Java内部类的基本原理,使用方法和各种细节。 有关内部类实现回调,事件驱动和委托机制的文章将在后面发布。 具体代码在我的GitHub中可以找到 https://github.com/h2pl/MyTech 文章首发于我的个人博客: https://h2pl.github.io/2018/04/25/javase8 内部类初探 一、什么是内部类?   内部类是指在...

Java技术江湖 7094

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Java 内部类的知识整理

内部类很少用, 为何 Java 设计者会设计它? 综合各方面的资料, 整理如下: 原因: 1. 为了弥补 “单继承” 的缺陷, 使用 单继承, 让类的继承结构更清晰, 牺牲了 “丰富度”; 不同的 “内部类” 可以继承不同的其他类, 达到 “多继承” 的实现, 提高代码的丰富度; 2. 一个类A 的作用, 仅仅是供 某一个 类B 进行使用, 防止其他类对A类形成依赖关系, 将 A类 设计成 B类 的内部类, 从而确保使用者的唯一; Java 扩展库 使用内部...

water2017的博客 154

Java内部类和类变量、实例变量的理解

1508

java中的四种内部类详解(成员类内部类,静态内部类,局部内部类,匿名内部类)

作为一名即将求职的程序员,面对一个可能跟近些年非常不同的 2019 年,你的就业机会和风口会出现在哪里?在这种新环境下,工作应该选择大厂还是小公司?已有几年工作经验的老兵,又应该如何保持和提升自身竞争力,转被动为主动?就目前大环境来看,跳槽成功的难度比往年高很多。一个明显的感受:今年的面试,无论一面还是二面,都很考验Java程序员的技术功底。最近我整理了一份复习用的面试题及面试高频的考点题及技术点梳理成一份“Java经典面试问题(含答案解析).pdf和一份网上搜集的“Java程序员面试笔试真题库.pdf。

2401_85112749的博客 757

Java内部类整理笔记——一篇读懂内部类

Java内部类整理笔记一 . 内部类的总结      一般来说,内部类继承自某个类或实现某个接口,内部类的代码操作创建它的外围类的对象。所以,可以认为内部类提供了某种进入其外围类的窗口。每个内部类都能独立地继承自一个接口的实现,所以无论外围类是否已经继承了某个接口的实现,对于内部类都没有影响。因为内部类提供了可以继承多个具体的或抽象的类的能力,使得设计与编程问题得以很好地解决。从这个角度看,内部类...

Smile_729day的博客 1295

面向对象 10:Java 内部类相关知识,四种不同内部类的使用方式和异同(成员 / 静态 / 局部 / 匿名内部类)

本文讲述 Java 内部类相关知识,通过案例分析,整理了四种不同内部类的使用方式和异同点。分别是成员内部类、静态内部类、局部内部类,以及匿名内部类。

积累,沉淀,温故而知新 1238

夯实Java基础系列18:深入理解Java内部类及其实现原理

本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 文章首发于我的个人博客: www.how2playlife.com 本文是微信公众号【Java技术江湖】的《夯实Java基础系列博文》其中一篇,本文部分内容来源于网络,为了把本文主题讲得清晰透...

Java技术江湖 694

内部类 java_夯实Java基础系列18:深入理解Java内部类及其实现原理

本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看喜欢的话麻烦点下Star哈文章首发于我的个人博客:www.how2playlife.comww.how2playlife.com内部类初探什么是内部类?内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰...

weixin_31597881的博客 149

面对对象——内部类整理

内部类访问特点: 1、内部类可以直接访问外部类中的成员; 2、外部类要访问内部类,必须建立内部类对象 内部类使用情况: 一般用于类的设计。分析事物时,发现该事物描述中还有事物,而且这个事物还在访问事物的内容。这时就将还有的事物定义成内部类来描述。 内部类——修饰符 直接访问外部类中的内部类中的成员,格式是: Outer.Inner in = new Outer().new Inner

Cfurture的博客 486

Java的面向对象和抽象类、接口、内部类以及OOP实战

Java的面向对象和抽象类、接口、内部类以及OOP实战初识面向对象面向过程&面向对象什么是面向对象面向对象三大特征封装封装的作用继承方法重写多态instanceof和类型转换方法回顾和加深方法的定义方法的调用对象的创建分析类与对象的关系创建与初始化对象内存分析类与对象小结Static关键字详解静态变量和静态方法static代码块和匿名代码块静态导入包抽象类和接口抽象类接口内部类 初识面向对象 面向过程&面向对象 面向过程思想 步骤清晰简单,第一步做什么,第二步做什么… 面向过程适合处理一些

油炸蘑菇鱼 1439

java 匿名内部类 参数_java为何匿名内部类的参数引用时final(转)

https://blog.csdn.net/z69183787/article/details/68490440编程喜欢看生肉的同窗就不用看个人回答了,直接看R大的三篇回答,尤为是第一篇后面的回复部分。编程语言我只是试着用大白话作个简单的整理,但愿能更容易理解一点。函数关于对象与闭包的关系的一个有趣小故事 (这篇的精华在后面的回复,小故事能够跳过)this1. 闭包(Closure)什么是闭包,大...

weixin_26848497的博客 233

【面试精讲】Java垃圾回收算法分析和代码示例

垃圾回收是Java内存管理中不可或缺的一部分,不同的垃圾回收算法各有优劣,适用于不同的场景和需求。现代JVM如HotSpot,提供了多种垃圾回收器,比如Serial、Parallel、CMS、G1等,它们背后的实现原理基本上是上述垃圾回收算法的变体或组合。理解这些算法的基本原理,可以帮助开发者更好地理解JVM的内存管理机制,从而写出更高效、更稳定的Java应用程序。如果本文对你有帮助 欢迎关注、评论, 博主才有动力持续记录遇到的问题!!!

小明的Java问道之路 8万+
上一篇: 使用Boolean类型同步锁引起异常的分析
下一篇: 请问JAVA要学会得要多长时间
老紫竹
博客等级 码龄19年 1万+粉丝 1252原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值