黑马程序员—关于Java中的内部类的笔记

nvm安装包最新版本 nvm.zip安装包版本是目前最新版本。 立即下载


------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

就我所知道的内部类的有关内容,做出如下笔记

1.普通成员内部类

  可以随意访问外部内的成员和方法,其他类可以通过先创建外部类对象,然后再获得该内部类的引用


2.静态内部类


可以看到,如果用static 将内部内静态化,那么内部类就只能访问外部类的静态成员变量,具有局限性

其次,因为内部类被静态化,因此Out.In可以当做一个整体看,可以直接new 出内部类的对象(通过类名访问static,生不生成外部类对象都没关系


3.方法内部类



4.私有内部类


    

如果内部类被私有化后,其他类就不能直接实例化该类了,只能调用他的外部类提供的方法来获得其引用,然后对其进行操作,对于外面的类,他是隐身的,只有通过其对应的外部类,他才能被访问

此刻我也明白了,private修饰后,就像普通的成员变量被private修饰后,不能直接访问,但是可以通过类提供的方法来获得,与成员变量不同的时,内部类被修饰后,外部类是无法通过某一方法的返回值来获得其引用的,只能在外部类提供的方法中操作内部类,这就好比,当医生要给你的心脏做手术时,只能在里肚子里做,不能将心脏拿出来。对于外面的人来说,你的心脏是隐藏的,医生必须破开肚子才能操作。

如果各位有什么补充的,希望你们不吝赐教!

PCIE Lane Margining Linux 环境配置 Copy all the provided files in folder PYC38 or PYC310 to the created pcie_lmt folder. Index of /ftp/python/3.8.10/Copy below commands to a file and rename it as "scan_pcie.py", the commands are from "685662 PCIe-LMT-Gen4_Gen5-r0p77.pdf" in the lane margi 阅读详情

相关推荐

自动化测试-自愈技术

随着人工智能的发展,作为一名软件测试工程师,相信大家都会思考如何把这一前沿技术引入到我们的自动化测试当中,想一万遍不如做一遍。,传递当前页面状态,获取之前成功的定位器路径,比较它们,并生成修复的定位器列表。如果修复成功,我们可以使用 Healenium Idea 插件更新我们的自动化测试代码:插件使用修复定位器寻找修复和更新测试代码。的旧定位器去定位按钮的时候,脚本就会报错,提示 “NoSuchElement”的错误异常。现在,我们假设开发人员变更了应用程序的UI界面,改变了这个按钮的id属性,从。

qq_58223744的博客 2660

windows下使用nvm,以及切换nvm下载源

nvm一个nodejs的多版本管理切换工具,也许你会用得上,反正我就得必须使它的。。。妹妹的。1.下载nvm https://github.com/coreybutler/nvm-windows/releases 我选择的是 nvm-setup.zip 版,也就是安装版。安装目录随便你自己选,放在C盘。占不了什么空间,测式是否安装成功,打开cmd 运行nvm v,显示版本号。即可2.安装完,

可遇,好孩子 1万+

单细胞测序数据分析——细胞通讯 CellChat

cellchat

G2530051386的博客 1万+

nvm的下载、安装与使用

1. nvm的作用 进行多个node版本的管理,因为有多个项目node版本可能不一致,需要nvm来管理 2. nvm下载地址 https://github.com/coreybutler/nvm-windows/releases 3. nvm安装 nvm-noinstall.zip: 这个是绿色免安装版本,但是使用之前需要配置 nvm-setup.zip:这是一个安装包,下载之后点击安装,无需配置就可以使用,方便。 Source code(zip):zip压缩的源码 Sourc code(tar.gz):

goutinga的博客 5750

瑞芯微RV1126B芯片实战:如何用3Tops NPU打造智能安防摄像头(附配置指南)

本文详细介绍了基于瑞芯微RV1126B芯片构建高性能智能安防摄像头的实战经验。文章深入剖析了其3Tops NPU与独立AI-ISP的协同优势,提供了从硬件选型、开发环境搭建、AI模型部署到系统调优的全流程配置指南,帮助开发者充分发挥芯片潜力,实现高效、稳定的智能视觉应用。

weixin_29281915的博客 443

tar解压报错 gzip: stdin: unexpected end of file tar: Unexpected EOF in archive

错误现象: [root@centos7-xinsz08 ~]# tar xf prometheus-2.7.2.linux-amd64.tar.gz gzip: stdin: unexpected end of file tar: 归档文件中异常的 EOF tar: 归档文件中异常的 EOF tar: Error is not recoverable: exiting now 错误原因排查 ...

互联网老辛 2万+

nvm-node版本管理工具

nvm nvm下载链接 点击下载,nvm-setup.zip nvm install node版本号,eg:nvm install v10.15.0 nvm uninstall node指定版本号 nvm list 查看当前安装的node列表 nvm use 指定node版本号 nvm install latest 安装最新的node版本号 nvm on 开启切换node版本号 nvm off ...

扫地僧 299

多智能体强化学习MATD3算法完整复现与分析

多智能体强化学习MATD3算法复现与分析摘要 MATD3算法是多智能体深度强化学习领域的重要进展,通过改进MADDPG算法,引入双Q学习、延迟策略更新和目标策略平滑等技术,显著提升了算法稳定性。本文完整复现了MATD3算法,详细解析了其数学原理,包括部分可观测马尔可夫博弈模型和TD3核心思想。在实现层面,设计了集中式Critic和分布式Actor的神经网络架构,采用PyTorch框架构建了Actor-Critic网络模块,包含精心设计的权重初始化和训练流程。该算法有效解决了多智能体环境中的非平稳性、信用分配

max500600的博客 529

黑马程序员——JAVA笔记——内部类

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------  当描述事物,事物的内部还有事物,该事物用内部类来描述。   因为内部事物在使用外部事物的内容。 class Body {   private class XinZang {   } public void show() { new XinZang()

安安安的博客 524

零基础学习CANoe Panel(5)——改变变量的值,控件图像也改变,这是怎么回事?

Panel 中控件的图像随着值变化,是怎么回事?

蚂蚁小兵 2145

基于POD和神经网络的多工况温度场重构反演系统

本文提出了一种基于本征正交分解(POD)和神经网络的多工况温度场重构反演系统。该系统通过POD方法从多工况温度场数据中提取主要特征模态,构建神经网络模型建立工况参数与POD模态系数的映射关系,实现温度场的快速重构。系统采用Python实现,包含数据预处理、POD分解、神经网络训练和温度场重构等模块。实验结果表明,该方法能够有效降低计算复杂度,实现高精度的温度场预测。

huanghm88的专栏 275

【黑马程序员】 java笔记——接口与内部类

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 接口与内部类 一、接口 1.接口格式 interface{} 接口中的成员修饰符是固定的。          成员常量:public staticfinal          成员函数

他山之石 可以攻玉 980

如何计算 R 中的基尼系数(附示例)

以意大利统计学家Corrado Gini命名,基尼系数是衡量人口收入分配的一种方法。基尼系数的值在 0 到 1 之间,值越高代表收入不平等越大,其中:0代表完全的收入平等(每个人的收入都一样) 1代表完全的收入不平等(一个人拥有所有收入) 您可以在此处找到按国家/地区列出的基尼系数列表。以下示例显示了使用DescTools包中的Gini()函数计算 R 中的基尼系数的两种方法。示例 1:使用个人收入计算基尼系数假设我们有以下 10 个人的年收入列表:收入:5 万美元、5 万美元、7 万美元、7 万美元、7

Mrrunsen的博客 2990

黑马程序员_java内部类之学习笔记

------- android培训、java培训、期待与您交流! ---------- 内部类 将一个类定义在另一个类的里边,里边的那个类就是内部类 例如: class Outer { int x = 3; class Inner//内部类 { void funciton() { System.out.println("inner"); } } vo

wangdabin_1216的专栏 781

深度学习工具包 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培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 1、定义 一个类的定义放在另一个类的内部,这个类就叫做内部类。 public class First { public class Contents{ public void f(){ System.out.println("In Class First's i

atong1991的博客 391

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

黑马程序员——java内部类学习笔记

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------                                                                         内部类 内部类的定义:简单来说就是将一个类定义在另一个类的内部,内部类分为:匿名内部类、普通内部类、局部内部类 1、普通内部类:将类放在外

猪猪fly侠的博客 396

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

黑马程序员java学习笔记——内部类、异常、包

今天的要写的内容是内部类和异常。优快云写有点麻烦,每次写完,想去生成的网页看一下有没有要改的地方,还要等着审核通过才能看到,真心麻烦。     内部类     定义:将一个类定义在另一个类的里面,对里面那个类就称为内部类(内置类,嵌套类)。     内部类的访问规则     1,内部类可以直接访问外部类中的成员,包括私有,可以访问的原因是内部类持有了一个外部类的引用,该引用的写法是:

魏天翔的博客 516

黑马程序员—6—Java基础:内部类学习笔记和心得体会

------- android培训、<ahref="http://www.itheima.com" target="blank">java培训、期待与您交流! ---------- 1.      将一个类定义在另一个类的里面,对里面那个类就称为内部类(内置类,嵌套类)。 2.      访问特点: 内部类可以直接访问外部类中的成员,包括私有成员。 之所以可以直接访

jiyuntao106的专栏 777

黑马程序员 JAVA基础学习笔记 内部类等

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- ------小弟在因特网的小窝,祝愿所有的朋友身体健康------- 定义在外部类的成员位置上时,而且非私有的情况下,可以通过外部类名.内部类名.变量名=外部类对象.内部类对象;(第二种方式) 内部类以静态修饰,静态就访问不到外部的东西了; 这让我想起了以前玩反恐的一个规

toughboy的专栏 332

黑马程序员_Java内部类学习笔记

定义:一个类的定义放在另一个类的内部,这个类就称作内部类。     内部类的特性: 1.      它了解外围类,并能与之通信。 2.      当生成一个内部类的对象时,此对象与制造它的外围对象之间就有了一种联系,所以它能访问其外围对象的所有成员,而不需要任何特殊条件。此外,内部类还拥有其外围类的所有元素的访问权。 3.      内部类自动拥有对其外围类所有成员的访问权。  

水滴石穿【原创空间】 505

黑马程序员 Java基础学习笔记10 内部类

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ------------------------------------------  内部类访问规则 1内部类可以直接访问外部类中的成员,包括私有。 2外部类要访问内部类,必须建立内部类对象。 之所以可以直接访问外部类中的成员,是因为内部类中持有一个外部类的引用   格式  

controltianlong的专栏 541

黑马程序员Java笔记——抽象类、接口、内部类(拾遗补录)

----------- android培训、java培训、java学习型技术博客、期待与您交流! --------- 拾遗补录: 面向对象与面向过程: (1)面向对象与面向过程的区别,以及有哪些编程语言为代表? A、面向对象是以对象为基础,强调对象能完成什么功能(What);代表语言有JAVA、C++、Python、 B、面向过程是以函数为基础,强调函数怎么实现此功能(How);代表

晴耕雨读 645

《黑马程序员》java笔记->【03.1.0】关于内部类

------- android培训、java培训、期待与您交流! ---------- /** 关于内部类 内部类可以直接访问外部类的成员。 外部类要访问内部类中的成员,必须创建内部类的对象。 假如内部类定义在外部类的局部位置中,不允许访问局部中变量。 内部类也就不能被静态static修饰,静态只修饰成员 只能访问被final修饰的局部常量 如: class Outer

bb175pt的专栏 422

黑马程序员---java学习笔记之面向对象:静态内部类

1、内部类在外部类的成员位置上时,就可以用修饰类成员的修饰符修饰该内部类         a):private修饰内部类,该类就被封装,不能被外部其他类直接访问;         b):static修饰内部类,并且该内部类未被私有,那么访问该内部类中的非静态方法就可以采用这样的格式:new 外部类名.内部类名().内部类中的非静态某函数名。 访问该内部类中的静态方法的格式为:外部类名.内部类

yizhanhaha的专栏 936

黑马程序员-Java学习笔记之抽象类,接口,多态和内部类

一 抽象类 1 抽象的定义 抽象:不具体,看不明白。抽象类表象体现。 在不断抽取过程中,将共性内容中的方法声明抽取,但是方法不一样,没有抽取,这时抽取到的方法,并不具体,需要被指定关键字abstract所标示,声明为抽象方法     抽象就是从多个事物中将共性的,本质的内容抽取出来。     例如:狼和狗共性都是犬科,犬科就是抽象出来的概念。  

newxuyangcao 541

《黑马程序员》java笔记->【03.1.1】匿名内部类

------- android培训、java培训、期待与您交流! ----------   /* 匿名内部类  凡是匿名都是简写格式。    要定义匿名内部类,必须要前提。    前提:内部类需要继承或者实现一个外部的类或者接口。        这时才能简写成匿名内部类的形成。  匿名内部类就是一个匿名子类对象,这个对象用{}结尾,内部定义了成员。  也就是说是一个带

bb175pt的专栏 404
上一篇: 黑马程序员—java中的hashCode与equals
下一篇: 黑马程序员—Java容器笔记
Jacky_Pen
博客等级 码龄15年 0粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值