成员变量、局部变量和静态变量

Linux USB Gadget框架解析:从设备模拟到驱动开发实战 USB(通用串行总线)是现代计算机系统中应用最广泛的外设连接标准,其主从动态切换的特性使其在嵌入式系统中扮演着双重角色。与I2C、SPI等固定主从架构不同,USB设备需要同时支持主机(Host)和从机(Device)两种模式,这催生了Linux内核中独特的USB Gadget框架。该框架通过分层设计,将硬件控制器驱动(UDC)、功能逻辑(Function)和配置管理(Configfs)解耦,实现了灵活的设备模拟能力。在工程实践中,开发者可以利用Gadget框架快速实现U盘、网络适配器、串口转换器等常见USB 阅读详情

成员变量

   我们来研究一个事物:

           属性:外在特征;例如人的身高,体重

           行为:能够做什么;例如人有说话,打球等行为。

   而在Java语言中,最基本的单位是类,类就是用来体现事物的。

   用类class来描述事物也是如此:

           属性:对应类中的成员变量

           行为:对应类中的成员函数

   定义类其实就是在定义类中的成员(成员变量和成员函数)

  拓展:类是一个抽象的概念,而对象就是类的具体的存在,体现。例如:生活中的汽车,可以看做一个类,我们称之为汽车类,每一台车都有颜色和轮胎数(可以定义为属性,即成员变量),每一台车都可以跑(即车的行为,对应类总的成员函数),我们把汽车实例化一下,即会产生一个对象,比如奔驰、宝马(BMW)。

Demo1:

public class Car {
private String color; // 定义汽车颜色,全局变量
private int numLuntai; // 定义汽车轮胎数,全局变量

    public Car(String color, int numLuntai){
              super();
              this.color = color;
              this.numLuntai = numLuntai;
    }
    public void run() {
              System.out.println(this.numLuntai+ "个轮子的" +this.color + "轿车在马路上行驶着");
    }

}

public class ClassTest {
public static void main(String[] args){
Car bmw = new Car(“黑色”, 4); // 创建一个轿车对象,名字为bmw
bmw.run();
}
}

运行结果:

4个轮子的黑色轿车在马路上行驶着

  其中color和numLuntai就称为Car 类的成员变量,这个属性能够用来描述一个类的属性,否则,它就应该定义为局部变量。

  例如一个for循环中的i即是局部变量。

              for(int i = 0; i < args.length; i++) {
                      ......
              }

又例如写在成员方法中变量是局部变量。

publicclass Car {
private String color; // 定义汽车颜色,全局变量
private int numLuntai; // 定义汽车轮胎数,全局变量
public Car(String color, int numLuntai){
super();
this.color = color;
this.numLuntai = numLuntai;
}
public void run() {
String carName=”宝马牌”; //这个就是局部变量
System.out.println(this.numLuntai+ “个轮子的” +this.color + carName+”轿车在马路上行驶着”);
}
}
publicclass ClassTest {
public static void main(String[] args){
Car bmw = new Car(“黑色”, 4); // 创建一个轿车对象,名字为bmw
bmw.run();
}
}

结果:

4个轮子的黑色宝马牌轿车在马路上行驶着

成员变量和局部变量的区别

   成员变量:

      ①成员变量定义在类中,在整个类中都可以被访问。

      ②成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。

      ③成员变量有默认初始化值。

  局部变量:

      ①局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。

      ②局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。

      ③局部变量没有默认初始化值 

  在使用变量时需要遵循的原则为:就近原则

  首先在局部范围找,有就使用;接着在成员位置找。

静态变量

  由static修饰的变量称为静态变量,其实质上就是一个全局变量。如果某个内容是被所有对象所共享,那么该内容就应该用静态修饰;没有被静态修饰的内容,其实是属于对象的特殊描述。

示例:

class Person{
//成员变量,实例变量
String name;
//静态变量,类变量
//所有对象共享的属性用static修饰
static String country = “CN”;
public void show(){
System. out.println(country + “:” + name);
//等效语句:System.out.println(Person.country+ “:” + this.name);
}
}
class StaticDemo{
public static void main(String[]args){
Personp = new Person();
System. out.println(p.country);
//可以用类名直接调用
System. out.println(Person.country);
}
}

结果:

CN

CN

成员变量和静态变量的区别

  1、两个变量的生命周期不同

        成员变量随着对象的创建而存在,随着对象被回收而释放。

        静态变量随着类的加载而存在,随着类的消失而消失。

  2、调用方式不同

        成员变量只能被对象调用。

        静态变量可以被对象调用,还可以被类名调用。

  3、别名不同

        成员变量也称为实例变量。

        静态变量也称为类变量。

  4、数据存储位置不同

        成员变量存储在堆内存的对象中,所以也叫对象的特有数据。

        静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。

列表对比:

   成员变量、局部变量、静态变量的区别 

这里写图片描述

小结:

    尽管三者的本质都是变量,可是使用时却有相当大的区别,稍不留神就可能陷入陷阱。且先记住:在一个类中,如果一个变量能够用来描述一个类的属性,那就定义为成员变量,否则,它就应该定义为局部变量。而如果一个变量在全局中都能使用(某个内容是被所有对象所共享),那么我们就可以把这个变量用static来修饰,即为静态变量。(还要注意它与静态方法的紧密联系,这里且不细述了)
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 阅读详情

相关推荐

大语言模型(LLM)在组合优化中的新突破:LLM-LNS与FunSearch性能对比

本文深入探讨了大语言模型(LLM)在组合优化中的创新应用,重点对比了LLM-LNS与FunSearch两种方法的性能差异。研究表明,LLM-LNS在物流路径规划、资源调度等场景中展现出显著优势,其双层自演化架构能有效平衡探索与利用,相比传统方法提升效率约43%。文章还提供了实践选择指南,帮助开发者根据具体需求选用合适的技术方案。

weixin_42526415的博客 408

成员变量、局部变量和静态变量的区别

要想区分这哥仨,首先,我们得知道它们分别是什么。先从成员变量下刀。 成员变量        我们来研究一个事物:                属性:外在特征;例如人的身高,体重                行为:能够做什么;例如人有说话,打球等行为。        而在Java语言中,最基本的单位是类,类就是用来体现事物的。        用类class来描

QuincyJiang的博客 849

解决Calibre中license的错误

本次解决了Calibre在Cadence 617 virtuoso版本中运行不了的错误,在遇到问题的时候,我也跟你们一样,首先是上网查询为什么运行不了呢?明明我安装了之后里面有Calibre的,我当时也是这样的疑惑,一点Calibre运行LVS的时候,一片空白,然后就出现了license的错误,后来点点点,看看看,搜搜搜,最终解决了这个问题。虚拟机是VMware16版本,cadence617,Calibre是2015版本。旨在记录遇到的实际问题。

yytu231的博客 1万+

java基础教程:面向对象(13)

这节课的内容是:面向对象。主要是面向对象的介绍,对象类和对象的定义及使用。快上车!!!

Dream - to be coder 616

WSL 2 部署 Rocky Linux 9:从零到生产环境配置指南(2025版)

本文详细介绍了如何在WSL 2上部署Rocky Linux 9,从环境准备到生产环境配置的全流程指南。通过优化安装流程和系统配置,帮助开发者和运维工程师在Windows环境下高效运行企业级Linux系统,特别适合需要本地开发但部署到RHEL系服务器的项目。

weixin_28455801的博客 479

嵌入式人工智能(18-基于树莓派4B的继电器JQC-3FF-S-Z)

本次实验的输出端控制不会接强电,就用LED灯来模拟即可,由于我那个流水灯模块是低电平点亮,所以接线稍有不同,同学们注意。只有继电器吸合,输出端的NO与COM就导通,给LED低电平然后就亮,否则继电器断开,NO与COM不导通,LED不亮。原理都一样,控制电流的接通与断开,这个模块看起来还简单点,毕竟还有2个指示灯,下端IN如接上电源红灯亮,继电器动作有电流通过绿灯亮。在实际应用中,可以通过编程控制继电器的通断状态,例如在Python编程中设置继电器模块的通断时间,从而实现自动化控制。

u010152658的博客 2531

函数与局部、全局和静态局部变量

函数与局部、全局和静态局部变量 我们知道在c++中一个函数一般会有它的参数。 例如最简单的形式参数:这个参数也可以称为局部变量。 那么现在介绍什么叫局部变量: 我们知道,一个变量有它的作用域(也就是能引用该变量的程序范围),局部变量即指只在程序的某一部分生效,而在其他部分没有作用的参数,例如我们熟悉的: for(int i=0;i<n;i++) { body } 那么这个i就是一个只...

i_want_to_studyi的博客 651

UE5Could not be compiled. Try rebuilding from source manually.

UE5Could not be compiled. Try rebuilding from source manually.

weixin_45417260的博客 2772

三大循环结构体系

for循环 int num=1; for(i=1;i<=5;++i) { System.out.println("你好。"); } 1.for循环里面的i是局部变量,只在for循环结构体内有定义。 2.for循环里面的局部变量i需要先进行定义。 3.变量在输出前要进行过赋值。 ...

woahxy的博客 638

语言 拉丁超立方抽样_医学统计与R语言:间断时间序列分析(Interrupted time series regression)...

微信公众号:医学统计与R语言如果你觉得对你有帮助,欢迎转发Interrupted time series (ITS) analysis is a valuable study design for evaluating the effectiveness of population-level health interventions that have been implemented...

weixin_29300805的博客 3706

MGC3130 3D手势识别传感器原理图设计,已量产(交互传感器)

最近在落地一款互动艺术装置的控制模块,选了 Microchip 的 MGC3130 做核心 —— 这颗芯片算是 GestIC® 近场传感技术的 “熟面孔” 了,把 3D 手势识别、运动跟踪的信号处理都集成在一颗芯片里,0-10cm 的检测距离刚好适配桌面级互动场景,挥挥手就能控设备的体验,放在艺术装置里确实很出效果。今天扒一下实际跑通的原理图,聊聊每个模块的设计思路。

不脱发的程序猿 375

for循环里的变量是局部变量还是全局变量

for循环里的变量是局部变量还是全局变量

qq_74009022的博客 4106

SAP 行业扫盲系列之一:SAP 从业者的分类

本文简单介绍了 SAP 从业者的分类,限于笔者狭隘的视角,可能存在遗漏或者不恰当的地方,希望大家在评论区指出。 那些在知乎咨询上向我提问关于进入 SAP 行业建议的朋友们,也请大家提问时注明自己想具体从事 SAP 行业哪一类的工作,这样才能得到更让你们满意的回复。感谢阅读。

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

静态变量和成员变量、成员变量和局部变量的区别

一、 静态变量和成员变量的区别: (1):所属不同:     静态变量:属于类,也称为类变量。     成员变量:属于对象,也称为对象变量或实例变量。 (2):在内存中的位置不同:     静态变量:存储于方法区的静态区。     成员变量:存储于堆内存。 (3):生命周期不同:     静态变量:静态变量是随着类的加载而加载,随着类的消失而消失。     成员变量:成员变量是随着对象的创建而存在...

陌守 9957

Statistics and Machine Learning Toolbox

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

VC中sqlite的使用

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

成员变量、实例变量、局部变量、类变量(静态变量)详解

Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。 Java的变量类型有: 成员变量类中的变量(独立于方法之外的变量) 局部变量类的方法中的变量。 而 java类的成员变量又有俩种: 静态变量(类变量): 独立于方法之外的变量,用 static 修饰。 实例变量: 独立于方法之外的变量,不过没有 static 修饰。 在语法定义上的区别: 静态变量前要加static关键字,而实例变量前则不加。 在程序运行时的区别: 实例变量属于某个对象的属性,必须创建了实例对象,其中的实例

munangs的博客 2万+

深度学习工具包 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")

成员变量与局部变量和静态变量的区别

一.局部变量 局部变量是定义在方法中或是方法的形参变量!局部变量只能在它所在的作用域内发挥作用!出了作用域就不能再使用了!所有的局部变量都存储在JVM中的栈内存中! public class Test { //类体中 public static void main(String[] args) { //方法体中 String name="我是局部变量!"; //这个name是main域中局部变量 System.out.

naoguoteng的博客 651

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Java基础——成员变量、局部变量和静态变量的区别

之前在刚开始学习Java的时候,就谈了谈Java基础中的变量,虽然知道这货以后会经常用到,但没想到了基本语法这里,竟然有冒出来了成员变量、局部变量和静态变量。变来变去太容易让人搞晕了,挑拣出来梳理一下喽!        要想区分这哥仨,首先,我们得知道它们分别是什么。先从成员变量下刀。 成员变量        我们来研究一个事物:                属性:外在特征;例如人的身高

贵宝的博客 4万+

局部变量、成员变量、静态变量、常量【超级详细解释】

静态变量是用static关键字修饰的成员变量。它也被称为类变量。静态变量不属于某个特定的对象, 而是属于类本身。无论创建多少个对象, 静态变量都只有一份拷贝, 被所有对象共享。在 Java 中, 常量是用final关键字修饰的变量。final的含义是“最终的, 不可改变的”。一旦一个变量被final修饰, 它的值就不能再被修改了。我们通常将final和static一起使用来创建类级别的常量。

weixin_44748929的博客 1515

成员变量、局部变量、静态变量三者的区别

成员变量和局部变量的区别 成员变量: ①成员变量定义在类中,在整个类中都可以被访问。 ②成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。 ③成员变量有默认初始化值。 局部变量: ①局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。 ②局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。 ③...

qq_45621376的博客 1074

静态变量、成员变量与局部变量的区别

成员变量和局部变量的区别 成员变量: ①成员变量定义在类中,在整个类中都可以被访问。 ②成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。 ③成员变量有默认初始化值。 局部变量: ①局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。 ②局部变量存在于栈内存中,作用的范围结束,变量空间会自动释放。 ③局部变量没有默认初始化值 在使用变量时需要遵循的原则...

qq_43677558的博客 1795

Java中成员变量、局部变量、静态变量的区别,静态变量详解

目录1 成员变量、局部变量和静态变量2 静态变量的特点及注意事项1 特点2 注意事项3 什么情况下使用静态变量3 总结 1 成员变量、局部变量和静态变量 成员变量:在类中且在方法外定义的变量称为成员变量; 局部变量:方法中、方法的形参或代码块中定义的变量,都属于局部变量; 静态变量:如果一成员变量有static关键字修饰,则该变量被称为静态变量。 成员变量 局部变量 静态变量 定义位置 类中,方法外 方法中、方法的形参或代码块内 类中,方法外 初始化值 有默认初始化值 无,先定义,赋值

sc179的博客 916

Java中合理使用局部变量替代成员变量、静态变量

故事起因一个Java类中可以存在多种形式的变量,可以是最一般的成员变量、或静态变量、或临时变量。如下图:publicclassVariableDemo{ staticin...

zxm317122667的专栏 1080

辨析:成员变量、局部变量以及静态变量

辨析:成员变量、局部变量以及静态变量准备: 成员变量=示例变量 静态变量=类变量一、逻辑图 二、文字解释 1. 作用域不同:成员变量定义在类中,整个类都可以访问;局部变量定义在函数中、语句以及局部代码块中,只在所属的作用域中有效;静态变量作用于整个类中。 2. 存储位置不同:成员变量存在于堆内存的对象中;局部变量存在于栈内存的方法中;静态变量存储在方法区的静态区中。 3. 生命周期

图图 2451

JAVA基础04 局部变量、成员变量、静态变量、常量

在 Java 中, 常量是用final关键字修饰的变量。final的含义是“最终的, 不可改变的”。一旦一个变量被final修饰, 它的值就不能再被修改了。我们通常将final和static一起使用来创建类级别的常量。

s3120626891的博客 1187

成员变量,静态变量,与局部变量

类中的变量 1.成员变量(实例变量,静态变量)定义在类中, 方法外面 实例变量指的是类的一个实例,就是一个对象, 成员变量就是类中的变量(不是方法中的变量!) 类变量是类中的静态变量。 2.局部变量(定义在方法里面,使用时必须要初始化)成员变量和局部变量的区别: 成员变量定义在类中,整个类中都可以访问; 局部变量定义在函数、语句、局部代码块中,只在所属的区域有效。 成员变量存在于堆内存的对象中;

张阿宁的博客 527

成员变量与局部变量、静态变量的区别

成员变量和局部变量的区别 * A:在类中的位置不同     * 成员变量:在类中方法外     * 局部变量:在方法定义中或者方法声明上 * B:在内存中的位置不同     * 成员变量:在堆内存(成员变量属于对象,对象进堆内存)     * 局部变量:在栈内存(局部变量属于方法,方法进栈内存) * C:生命周期不同     * 成员变量:随着对象的创建而存在,随着对象的消失而消失     * 局...

Fighting_mjtao的博客 1104
上一篇: 输入字母来判断星期几的问题
下一篇: 简单排序
YanQiu_Only
博客等级 码龄10年 6粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值