12_面向对象高级_内部类

(R,线性回归)R语言里的模型诊断图(Residuals vs Fitted,Normal QQ , Scale-Location ,Residuals Leverage) 线性回归,是概率统计学里最重要的统计方法,也是机器学习中一类非常重要的算法。线性模型简单理解非常容易,但是内涵是非常深奥的。尤其是线性回归模型中的Diagnostics plot的阅读与理解一直被认为是线性回归中的一个难点。 在任何线性模型中,能够直接“lm”(模型有意义),既要考虑各个参数的t-test所得出的p-value,也要考虑总体模型F-检验得出的p-value。在这之后,还要清楚一个... 阅读详情

内部类

1. 认识内部类
  • 它是类中的五大成分之一(成员变量、方法、构造器、内部类、代码块)
  • 如果一个类定义在另一个类的内部,这个类就是内部类。
public class Test {
    public static void main(String[] args) {
        // 直接输出: 内部类的静态成员变量
        System.out.println(Outer.Inner.gender);  // null

        // 创建内部类的对象,并调用功能
        Outer.Inner obj = new Outer().new Inner();
        // 调用内部类自己的方法
        obj.run();  // 快跑啊~~~
        obj.test();  // 1、10、100
    }
}

class Outer {
    // 成员变量
    private int number = 100;
    public static String info;

    // 成员方法
    public void run() {
        System.out.println("跑");
    }

    public int getNumber() {
        return number;
    }

    public void setNumber(int number) {
        this.number = number;
    }

    // 成员内部类
    public class Inner {
        // 成员变量
        private int number = 10;
        public static String gender;  // JDK 16才开始支持定义静态成员

        // 成员方法
        public void run() {
            System.out.println("快跑啊~~~");
        }

        public void test() {
            int number = 1;
            System.out.println(number);
            // 调用内部类的成员
            System.out.println(this.number);
            // 调用外部类的成员
            System.out.println(Outer.this.number);  // 通过Outer.this拿到当前的外部对象
        }

        public int getNumber() {
            return number;
        }

        public void setNumber(int number) {
            this.number = number;
        }
    }
}
2. 静态内部类 (了解)
  • 有 static 修饰的内部类,就是静态内部类
  • 静态内部类可以直接访问外部类的静态成员,但是不能直接访问外部类的实例成员
public class Test {
    public static void main(String[] args) {
        // 创建"静态内部类"的对象
        Outer.Inner obj = new Outer.Inner();
        obj.test();  // null
    }
}

class Outer {
    private int age;
    public static String schoolId;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    // 静态内部类
    public static class Inner {
        private String name;
        public static int id;

        public void test() {
            System.out.println(schoolId);  // 可以直接访问外部类的静态成员变量
//          System.out.println(age);  // 报错,不可以可以直接访问外部类的成员变量(对象的变量)
            // 因为这是静态内部类,如图静态方法一样,不能访问对象的变量
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }
}
3. 局部内部类
  • 局部内部类是定义在方法中,代码块中,构造器等执行体中
  • 这个语法没啥用,看看就好
public class Test {
    // main方法,程序入口
    public static void main(String[] args) {

    }
	// run方法
    public static void run() {
        class A {

        }
        abstract class B {

        }
        interface C {
            
        }
    }
}
4. 匿名内部类
  • 概念:它是一种特殊的局部内部类,所谓匿名:指的是程序员不需要为这个类声明名字。

  • 代码展示:

(要求在"代码二"中,使用"匿名内部类"的知识实现"代码一"的功能)

// 代码一
public class Test {
    public static void main(String[] args) {
        Animal obj = new Cat();
        obj.cry();
    }
}

class Cat extends Animal {
    @Override
    public void cry() {
        System.out.println("喵喵喵~~~");
    }
}

abstract class Animal {
    public abstract void cry();
}
// 代码二
public class Test {
    public static void main(String[] args) {
        // 计算机遇到代码"  new Animal(){...};  "会做两件事
        // 1.把这个匿名内部类,编译成一个子类
        // 2.然后会立即创建一个子类对象出来
        Animal obj = new Animal() {
            @Override
            public void cry() {
                System.out.println("喵喵喵~~~");
            }
        };  // 千万要注意!这里不要漏了分号;

        obj.cry();  // 喵喵喵~~~
    }
}

abstract class Animal {
    public abstract void cry();
}
  • 通过上面的演示,你应该很清楚的了解到"匿名内部类"的特点:它的本质就是一个子类,并且会立刻创建出一个子类对象,然后返回出来。
  • 应用场景:使用它可以更方便的创建一个子类,返回出来的对象则通常作为参数进行使用。
第3版•系统集成项目管理工程师(中级) │ 第12章 执行过程组 ✦ 管理沟通 🥏第3版•系统集成项目管理工程师(中级) │ 第12章 执行过程组 ✦ 管理沟通 阅读详情

相关推荐

Vivado项目开发新思路:用VSCode写代码,用Vivado管理IP核与综合(Windows/Mac环境通用指南)

本文介绍了如何结合Vivado和VSCode的优势,打造高效的FPGA设计工作流。通过配置VSCode的Verilog插件和Vivado环境集成,开发者可以在VSCode中编写代码,同时利用Vivado管理IP核与综合,显著提升开发效率和团队协作体验。

weixin_42545503的博客 336

JAVA复习 面向对象高级编程Day12 接口 内部类

接口,内部类(匿名内部类,局部内部类,成员内部类,成员内部类,静态内部类使用及其细节)

m0_46511996的博客 171

英飞凌 AURIX 系列单片机的HSM详解(1)——何为HSM

1. 概述 随着汽车上通信系统越来越复杂,云端远程通信的场景越来越多,信息安全变得越来越重要,在通信领域常用的AES、SHA、RSA等加密算法被越来越多地应用到汽车上。但通常这类加解密算法都需要大量的数学运算,需要消耗很多CPU时间和资源,汽车上的ECU又有比较高的实时性要求,为了节省主CPU的资源,HSM应运而生。 HSM(Hardware Security Module),是MCU上专门用于实现加解密算法的一个外设,它一般会有一个独立的CPU,专门用来进行加解密运算,还有一些针对特定算法的硬件加速器(如

weixin_42967006的博客 4万+

12Java面向对象高级(篇3,Java程序的核心套路!!!!内部类、枚举、泛型、 Object类)

内部类、枚举、泛型、常用API

qq_56947957的博客 1349

【HCIP-AI 进阶之路(一)】零成本白嫖算力,7天速通华为人工智能资深开发者认证

《HCIP-AIEIDeveloper认证备考指南》摘要:本文深度解析华为HCIP-AI(H13-331)认证考试要点,涵盖考试大纲、评分标准及备考策略。重点剖析昇腾AI全栈架构,包括达芬奇架构核心计算单元(Cube/Vector/Scalar Unit)和四大层级关系(芯片-CANN-框架-应用)。针对无硬件资源的开发者,提供MindSpore CPU版、ModelArts免费算力和沙箱实验室三种零成本实践方案。文章强调该认证对国企/华为生态企业求职者的价值,并指出多选题是主要失分点。下篇将聚焦计算机视觉

2301_82049134的博客 1182

中国全国地面站点数据(1981-2010)、月平均气象、月平均降水、月平均相对湿度、月最大降水、月最高温度最低温度、月最高温平均值最低温平均值、高低温站点基础数据,气候数据

中国全国地面站点数据(1981-2010)、月平均气象、月平均降水、月平均相对湿度、月最大降水、月最高温度最低温度、月最高温平均值最低温平均值、高低温站点基础数据 b_china_mon_avg_data_pressure月平均气象 b_china_mon_avg_data_rain月平均降水 b_china_mon_avg_data_rhu月平均相对湿度 b_china_mon_max_data_rain月最大降水 b_china_mon_max_min_data_tem月最高温度最低温度 b_china

无极低码 2万+

Java核心技术·卷I(原书第12版)

他是《Java核心技术》两卷本的作者,也是《重要的,第二版》(Addison-Wesley,2018)的Core Java SE 9和《重要的,第二版》(Addison-Wesley,2017)的作者。读者应在充分理解Java语言和Java类库的基础上,灵活应用Java提供的高级特性,包括面向对象编程、反射和代理、接口和内部类、异常处理、泛型编程、集合框架、事件监听器模型、图形用户界面设计和并发。☉第四章介绍了面向对象的两大基石——封装的重要概念,以及Java语言实现封装的机制——类和方法;

jascl的博客 1万+

021、反激变换器的软启动设计

本文分享了反激变换器软启动设计的实践经验。作者通过一次上电炸机事故引出软启动的重要性,分析了启动瞬间电流冲击和环路饱和问题。介绍了三种软启动方案:效果差的RC电路、推荐使用的数字芯片方案以及分立元件实现方法,重点指出数字方案的一致性优势。文章还探讨了软启动与过流保护的配合问题,提供了实测波形、温度影响等调试要点,并总结出软启动时间选择、批量生产一致性等实用建议。最后强调软启动是电源可靠性的关键设计,不应为节省成本而忽略。全文包含多个工程实践细节,对电源设计人员具有重要参考价值。(149字)

Jack010169的博客 174

面向对象高级部分---内部类,什么是内部类,内部类的划分,为什么要用内部类?

内部类!这是面向对象编程中最重要的部分,也是Java进阶的第一个难点,主要体现在源码上,如果有朋友读过一些Java类的源码就会发现,源码中大量使用内部类,如果你不懂,那看起来是相当困难的,尤其是一些主流框架和开源项目,都大量使用内部类,而这些往往也是面试中的重点,所以,这部分一定要非常重视!!!

m0_53327171的博客 1479

Python电梯II

输入数据有若干组(最多不超过1000组),每组数据的第一行为四个如题目中所示的整数N,u,d,s,由空格分隔开。第二行为不同楼层需要上下楼的请求, 最多不超过1000个。每个请求的格式为"from-to",其中"from"和"to"为所在楼层和要到达的楼层,保证from!=to。

沐风—云端行者 909

踩坑2周总结:Python+YOLO26搭建工业级多路视频分析应用,从单路卡顿到16路4K稳跑30FPS

本文分享了工业级多路视频分析系统的实战经验,针对智慧物流园区的车辆违停和人员安全监测需求,提出了一套完整的解决方案。作者通过踩坑实践,总结出多路视频分析的四大核心痛点:视频流解码瓶颈、推理调度混乱、内存占用爆炸和部署兼容性差。 文章详细介绍了技术选型方案,推荐使用FFmpeg+PyAV进行硬件加速解码、YOLO26+TensorRT INT8量化推理、单进程多线程的生产者-消费者架构,以及内存池复用等技术组合。该方案在RTX 4070 Ti上实现了16路4K视频30FPS稳定运行,GPU利用率达85%以上,

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 955

day12——面向对象高级3

接下来我们学习一下自定义泛型类,但是有一些话需要给大家提前交代一下:泛型类,在实际工作中一般都是源代码中写好,我们直接用的,就是ArrayList这样的,自己定义泛型类是非常少的。自定义泛型类的格式如下//这里的其实指的就是类型变量,可以是一个,也可以是多个。public class 类名{接下来,我们自己定义一个MyArrayList泛型类,模拟一下自定义泛型类的使用。注意这里重点仅仅只是模拟泛型类的使用,所以方法中的一些逻辑是次要的,也不会写得太严谨。

ZHUSHANGLIN的博客 705

Seurat-SCTransform与harmony整合学习

源于R tips:Seurat之SCTransform方法原理 (qq.com)Seurat对象在经过SCTransform处理后会增加一个SCT的Assay,里面的scaled.data就是经过scale之后的pearson residual值,这个值是用于后续降维聚类分析使用的。

hx2024的博客 2330

头歌平台Java实验:Java面向对象高级

2.实现Demo接口,完善接口中的show方法,打印输出 “实现了接口中的show方法”System.out.println("实现了接口中的show方法");1.编写MyInterface接口,含一个抽象方法sayHi,返回值为void。System.out.println("接口定义完成");根据提示,在右侧编辑器补充代码,完成接口的书写和接口的实现。实现了接口中的show方法。

jing13_13的博客 7518

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Devexpress16.2.6破解工具

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

Java面向对象编程【高级篇】之代码块和内部类

本文介绍了Java面向对象编程中的代码块与内部类。代码块分为静态代码块和实例代码块,静态代码块在类加载时自动执行一次,用于类的初始化;实例代码块在每次创建对象时执行,用于对象的初始化。内部类包括成员内部类、静态内部类、局部内部类和匿名内部类。成员内部类可以直接访问外部类的成员,静态内部类只能访问外部类的静态成员,局部内部类定义在方法或代码块中,匿名内部类则用于快速创建子类对象或实现回调函数。这些特性为Java编程提供了更灵活的设计方式。

2402_88461821的博客 820

Statistics and Machine Learning Toolbox

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

面向对象高级、内部类、集合、反射

覆盖时考虑子类的private及父类的public(考虑多态),之所以这样是避免调用A时出现实际调用B的情况。面向对象高级、内部类、集合、反射是Java编程语言中的重要概念。面向对象高级、集合都是面向对象的核心内容。面向对象高级、内部类、集合、反射。

博客域名:borter.blog.youkuaiyun.com 224

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

JAVA—面向对象编程高级

学习了一定基础后,开始更加深入的学习面向对象,包含static,final两个关键字,面向对象编程三大特征之继承和多态。以及对于抽象类,内部类,接口,枚举,泛型的学习。

Hismybestlove的博客 2384

面向对象(高级)

每个人都可以活得更精彩,不要让惰性毁了你,坚持学习。随着我们对面向对象的不断了解,我们已经学过很多语法和思想了,虽然不是很好理解,但是也没有难到令人放弃,随着不断地练习,总有一天个人会瞬间通透的;更难学的还在后面。不要觉得Java很难,多给自己点信心,加油。那好,聊到这里我们继续学习更难的知识点。

weixin_67807492的博客 4041

面向对象(高级进阶)

面向对象高级部分——重点学习匿名内部类、Lamdba函数以及方法引用(简化匿名内部类的代码),了解GUI界面编程,通过案例融合面向对象的全部内容。

ZShuji的博客 1272

【Java】—— Java面向对象高级:内部类(InnerClass)

将一个类A定义在另一个类B里面,里面的那个类A就称为内部类(InnerClass),类B则称为外部类(OuterClass)。如果成员内部类中不使用外部类的非静态成员,那么通常将内部类声明为静态内部类,否则声明为非静态内部类。[修饰符] class 外部类{[其他修饰符] [static] class 内部类{成员内部类作为类的成员的角色和外部类不同,Inner class还可以声明为private或protected;可以调用外部类的结构。

weixin_63106307的博客 1122

Java面向对象高级:内部类和简化

概念理解:函数式编程中的函数类似于数学函数,Java中的函数由Lambda表达式代表,可替代某些匿名内部类对象,使代码更简洁、可读性更好。替代条件:Lambda只能简化函数式接口的匿名内部类,函数式接口是指有且仅有一个抽象方法的接口,可通过添加注解声明。替换示例:以swim接口为例,其匿名内部类可通过Lambda表达式简化,通过上下文推断机制实现替代。

weixin_63950083的博客 733

面向对象高级:内部类

内部类是类中的五大成分之一(成员变量、方法、构造器、内部类、代码块),如果一个类定义在另一个类的内部,这个类就是内部类。当一个类的内部,包含一个完整的事物,且这个事物没有必要单独设计时,就可以把这个事物设计成内部类。内部类有四种形式,分别是成员内部类、静态内部类、局部内部类、匿名内部类。

2501_93676393的博客 656

Java面向对象高级应用

java面向对象高级笔记复盘【已完】,后续更新在常用API(一)中!

m0_60041624的博客 1915

Java 面向对象高级 内部类

本文介绍了Java中的内部类概念及其分类。详细讲解了四种内部类:成员内部类(可访问外部类成员)、静态内部类(仅访问外部类静态内容)、局部内部类(定义在方法内)和匿名内部类(无需显式定义类名)。重点说明了成员内部类的创建方式、访问外部类变量的方法,以及匿名内部类在简化代码结构中的作用。通过汽车与发动机的案例,展示了内部类如何更合理地组织关联属性。

2502_93161594的博客 395

面向对象高级(接口&内部类)

Java提供了关键字interface,用它来定义接口这种特殊结构。

Royzst的博客 214

面向对象高级(内部类)

20200705赵阳来软帝的第一周 面向对象高级(内部类) 内部类 内部类,也称之为嵌套类,内属类,在一个java中还包含其他java类的定义。 public class Button { private String title; private int width; private int height; /** * 内部类 * @author mrchai */ public class Click{ public void click() { System

Superzhaoy的博客 363
上一篇: 11_面对对象高级_接口
下一篇: 13_面向对象高级_枚举
code_stream
博客等级 码龄4年 1238粉丝 169原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值