精华内容
下载资源
问答
  • 2020-05-24 19:41:56

    成员变量与局部变量

    1.相同点:

    	1.1  定义变量的格式:数据类型  变量名 = 变量值
    	1.2 先声明,后使用
    	1.3 变量都其对应的作用域 
    

    2.不同点:

    	2.1 在类中声明的位置的不同
    	成员变量:直接定义在类的一对{}内
    	局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量
    	
    	2.2 关于权限修饰符的不同
    	成员变量:可以在声明成员变量时,指明其权限,使用权限修饰符。
    		          常用的权限修饰符:private、public、缺省、protected  
    	局部变量:不可以使用权限修饰符。
    
    	2.3 默认初始化值的情况:
    	成员变量:类的属性,根据其类型,都默认初始化值。
    		整型(byte、short、int、long:0)
    		浮点型(float、double:0.0)
    		字符型(char:0  (或'\u0000'))
    		布尔型(boolean:false)
    		引用数据类型(类、数组、接口:null)
    
    	局部变量:没有默认初始化值。
    	意味着,在调用局部变量之前,一定要显式赋值。
    		特别地:形参在调用时,赋值即可。
    
    	2.4 在内存中加载的位置:
    	成员变量:加载到堆空间中   (非static)
    	局部变量:加载到栈空间
    
    更多相关内容
  • Java的属性与形参的名字相同

    千次阅读 2015-01-13 20:56:33
    的属性和方法的形参名字相同时,方法里面的变量是指向属性还是方法的形参呢? 这是我刚刚偶尔发现的问题,特地研究了一下。 例如,我现在写一个Test:(注意:这里没有用this.count,因为this.count...

    当类的属性和类方法的形参名字相同时,类方法里面的变量是指向类属性还是类方法的形参呢?

    这是我刚刚偶尔发现的问题,特地研究了一下。

    例如,我现在写一个Test类:(注意:这里没有用this.count,因为this.count是肯定指向类属性的。)

    <span style="font-size:18px;">public class Test {
    
    	
    	public static void main(String[] args) {
    		SecondClass secondClass=new Test.SecondClass(100);
    		System.out.println(secondClass.count);
    		System.out.println(secondClass.second);
    	}
    	static class SecondClass{
    		int count=1;
    		int second=0;
    		public SecondClass(int count) {
    			count=count;	//左部count是哪个?右部count又是哪个?
    			second=count;	//调用的是哪个count?
    		}
    	}
    
    }</span>

    当形参编程mCount的时候呢?

    static class SecondClass{
    		int count=1;
    		int second=0;
    		public SecondClass(int mCount) {
    			count=count;	
    			second=count;	
    		}
    	}

    第一段代码的运行结果是:

    count=1
    second=100

    得到的结果是,类属性count并没有被类方法调用,而second=count;语句调用的是形参。

    第二段代码的运行结果是:

    count=1
    second=1

    得到的结果说明,在没有类属性跟类方法的形参重名的情况下,调用的才是类属性。

    所以,在重名情况下,类方法的形参优先级比类属性更高!这就告诫我们,当调用类属性的时候,尽量使用this.变量!这样才不易造成混乱…保持良好的变成习惯,嗯!

    展开全文
  • **1.1定义变量的格式:**数据类型 变量名=变量值 1.2先声明后使用 1.3变量都有其对应的作用域 2.不同点: 2.1在中声明的位置不同 属性:直接定义在中的一对{}内。 举例: class User{ //属性(或成员变量) String...

    1.相同点:
    **1.1定义变量的格式:**数据类型 变量名=变量值
    1.2先声明后使用
    1.3变量都有其对应的作用域

    2.不同点:
    2.1在类中声明的位置不同
    属性:直接定义在类中的一对{}内。
    举例:

    class User{
    //属性(或成员变量)
    String name;
    int age;
    boolean isMale;
    
    }
    

    **局部变量:**声明在方法、方法形参、代码块内、构造器形参、构造器内部的变量。

    class User{
    public void talk(String language){//language:形参,也是局部变量
    System.out.println("我们使用"+language+"进行交流");
    
    }
    
    public void eat(){
    String food="烙饼";//局部变量
    System.out.println("北方人喜欢吃"+food);
    
    }
    
    }
    

    2.2关于权限修饰符的不同:
    **属性:**可以在声明属性时,指定其权限,使用权限修饰符
    常用的权限修饰符:private、public、缺省、protected
    局部变量不可以使用修饰符

    2.3默认初始化的问题:
    **属性:**类的属性,根据其类型,都有默认初始化值
    整型(byte,short,int,long):0
    浮点型(float,double):0.0
    字符型(char):0(或’u0000’)
    布尔型(boolean):false
    引用类型(类、数组、接口):null
    **局部变量:**没有默认初始化值。意味着,我们在调用局部变量之前,一定要显式赋值。特别地,形参在调用时,我们赋值即可。

    2.4在内存中加载的位置:
    **属性:**加载在堆空间中。(非static)
    **局部变量:**加载在栈空间中。

    展开全文
  • 如何访问成员变量和方法

    千次阅读 2021-03-06 03:40:52
    Java应用程序中,经常需要访问成员变量和方法,以实现程序的功能,请问应该如何访问成员变量和方法?在Java中通过的实例(即对象)点(.)运算符来访问成员变量和方法,今天百分网小编为大家整理的如何...

    在Java应用程序中,经常需要访问类的成员变量和方法,以实现程序的功能,请问应该如何访问类的成员变量和方法?在Java中通过类的实例(即对象)点(.)运算符来访问类的成员变量和方法,今天百分网小编为大家整理的如何访问类的成员变量和方法,仅供学习参考,欢迎大家阅读浏览!

    在Java中通过类的实例(即对象)点(.)运算符来访问类的成员变量和方法。语法格式如下:

    对象名.成员变量;

    对象名.方法(实参列表);

    说明:在使用对象访问类的方法时,如果类的方法有形参,必须为方法传递与参数类型相同的实参值,比如方法的形参是String类型,参传递的实参值必须是一个具体的字符串值,如"OK"或者代表字符串值的常量或变量。

    例如有下面这样一个类:

    01 public class Test {

    02 private int num; // 成员变量

    03 public void setNum(int val) { // 成员方法

    04 num = val; // 为成员变量赋值

    05 }

    06 public int getNum() { // 成员方法

    07 return num; // 返回成员变量的值

    08 }

    09 public void printStr() { // 成员方法

    10 String str = "Hello"; // 定义局部变量str

    11 System.out.println(str); // 输出变量str的值

    12 }

    13 }

    有了类就可以通过类的实例来访问Test类的成员变量和方法了,如果将下面的代码放到Test类的主方法中,用户再添加两个条输出变量a和b的语句,运行程序就可以在控制台输出信息了。

    例如:

    1 Test test=new Test(); // 创建Test类的对象test

    2 test.setNum(20); // 通过对象test访问类的setNum()方法,为成员变量num赋值

    3 int a=test.getNum(); // 通过对象test访问类的getNum()方法,获得成员变量num的值

    4 int b=test.num; // 通过对象test访问类的成员变量num,获得成员变量num的值

    说明:由于没有为类Test定义构造方法,所以上面代码使用Test类的默认没有任何形参的构造方法创建了Test类的对象test,然后通过test.setNum(20)访问类的方法setNum(),并为该方法传递实参值20,这样成员变量num就被赋值为20了,然后通过test.getNum()访问类的getNum()方法,获得成员变量num的值20并赋值给变量a,最后一行代码通过test.num直接访问类的成员变量num,并赋值给变量b,因此变量b的值也是20。

    类是一个抽象的概念,在实际编程过程中会用到很多类,一定要认真思考每个类应该包含的成员和方法,以及怎样完成每个方法所要实现的功能。

    展开全文
  • 变量按作用范围划分分为全局变量(成员变量)和局部变量成员变量按调用方式划分分为实例属性与属性(有关实例属性与属性的介绍见另一博文https://blog.csdn.net/DragonGirI/article/details/81948332)局部变量按...
  • this的用途之一:在方法参数和成员变量同名时用this进行区分,表示想用成员变量,而非方法参数。 创建一个打电话的: public class Callone { String name; // name是我的名字,who是对方名字 public void ...
  • java变量名命名规则

    2021-12-20 11:00:19
    文中将会涉及到日常工作中常见的命名示例,如包命名,命名,接口命名,方法命名,变量命名,常命名,抽象命名,异常命名以及扩展命名等。我将按照项目工程目录结构,从包,(接口,抽象,异常),方法...
  • 成员变量与局部变量相同点与不同点(易错) package com.happy.bean; /* * 成员变量与局部变量的相同点与不同点、 * * (1)相同点 * ①定义变量的格式:数据类型 变量名 = 变量值 * ②先声明,后使用 * ③变量都...
  • 四、Java 和对象以及变量 Java 是面向对象的编程语言,是面向对象的重要内容,可以把当成一种自定义类型,可以使用来定义变量,这种类型的变量统称为引用变量,也就是说所有都是引用类型。 4.1定义 ...
  • java变量重名问题

    2020-11-29 13:48:54
    方法中的局部变量也不能和形参同名 同一个方法的不同代码块可以重名 public static void methd(int b) { //同一个方法的不同代码块变量可以重名 for (int i = 0; i < 10; i++) { int a; } for (int i = ...
  • 1.0、和对象 :是对一事务的描述...属性:对应中的成员变量 方法:对应中的成员方法 1.2、构造器 * this 的具体说明在笔记的最后一章《关键字的使用》当中查看 1.3、的成员构成(代码附件
  • 属性(成员变量):直接定义在的一对{}内 局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量 2.2关于权限修饰符的不同 属性:可以在声明属性时,指明其权限,使用权限修饰符。 常用的...
  • 什么是面向对象? 一切客观存在的事务都为对象。...和对象的关系:一个可以创建多个对象(实例)。 是对象的模板 。 对象是的实例 。 的组成部分: class 类名{ //手机(类名=Phone) // 1. 属性:描
  • JAVA类成员

    2021-07-18 18:47:34
    1.属性 2.方法 3.构造器 4.代码块 5.内部
  • java方法 成员变量 局部变量概述

    千次阅读 2017-12-23 20:37:58
    一旦将一个方法定义在某个体内,如果这个方法使用了static修饰,则这个方法属于这个,否则这个方法属于这个的实例。 1.2 方法的语法格式 在Java中,声明一个方法的具体语法格式如下:  
  • java语言中,根据定义变量的位置不同,而可以将其分为成员变量和局部变量两大(具体分类参照图一.变量分类详图),下面将为大家详细介绍一下两种变量的运行机制的差异。图一.变量分类详图一、概念成员变量:指的...
  • Java类成员之方法

    2021-03-06 01:02:28
    方法含义:1. 方法是或对象行为特征的抽象,用来完成某个功能操作。...方法的声明格式:修饰符 返回值类型 方法(参数类型 形参) {方法体程序代码return 返回值;}1.修饰符:public,defunct,private, protected...
  • 声明成员方法可以定义的行为,行为表示一个对象能够做的事情或者能够从一个对象取得的信息。的各种功能操作都是用方法来实现的,属性只不过提供了相应的数据。一个完整的方法通常包括方法名称、方法主体、方法...
  • getter和setter方法的命名规范: getter方法用于获取成员变量的值,所以方法有返回值,方法名为:get+成员变量名首字母大写。 String getName() int getAge() setter方法用于设置成员变量的值,所以方法有参数,...
  • 和对象定义面向对象的程序设计过程中有两个重要概念:(class)和对象(object,也被称为实例,...零个到多个成员变量...零个到多个方法...}修饰符可以是public、final、abstract或者完全忽略。如果从程序的可...
  • 变量和成员变量的作用域都与这个的生存范围相同变量的生命周期是从该的准备阶段起开始存在,直到系统销毁这个;实例变量的生命周期是从该的实例被创建起开始存在的,直到系统完全销毁这个实例;在java...
  • JAVA 面向对象 成员变量和局部变量

    万次阅读 多人点赞 2016-07-20 18:08:42
    Java语言中, 根据定义变量位置的不同,可以将变量分成两大:成员变量 局部变量 成员变量和局部变量的运行机制存在很大差异,下面我们看看差异在哪. 成员变量 成员变量指的是在里定义的变量. 局部变量指的是...
  • 与对象、成员变量、成员方法 面向对象的基本特征:封装,继承,多态 和对象 :是一具有相同特性的事物的抽象描述,是一组相关属性和行为的集合。可以看成是一事物的模板,使用事物的属性特征和行为特征来...
  • 属性(成员变量)VS局部变量 1.相同点: 1.1定义变量的格式:数据类型变量名=变量值1.2先声明,后使用 1.3变量都有其对应的作用域 2.不同点: 2.1在中声明的位置的不同属性:直接定义在的一对{得}内 局部变量:声明在...
  • Java基础复习07
  • 成员变量的方法可以直接使用该定义成员变量。如果其他的方法要访问它,收先要做的就是创建该的独享,然后通过操作符“.”来引用。 局部变量:他的作用域仅仅在定义该变量的方法内,因此只有在这个方

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,221
精华内容 11,288
关键字:

java 类 形参 成员变量名相同

java 订阅