精华内容
下载资源
问答
  • public void s(){} 就是想把输入那里提出来用一个方法包围,这样调用的时候比较方便,但是放入方法中后,其他方法不能访问shoupai1shoupai2wan1wan2等,请问有什么办法可以把输入的int id1=input.nextInt()...

    /*

    *创建玩家

    */

    public void s(){

    Scanner input = new Scanner(System.in);

    List shoupai1 = new ArrayList() ;

    List shoupai2 = new ArrayList() ;

    int id1=input.nextInt();

    String name1 = input.next();

    Wanjia wan1=new Wanjia(id1,name1,shoupai1);

    int id2=input.nextInt();

    String name2 = input.next();

    Wanjia wan2=new Wanjia(id2,name2,shoupai2);

    }/*

    *创建玩家

    */

    Scanner input = new Scanner(System.in);

    List shoupai1 = new ArrayList() ;

    List shoupai2 = new ArrayList() ;

    int id1=input.nextInt();

    String name1 = input.next();

    Wanjia wan1=new Wanjia(id1,name1,shoupai1);

    int id2=input.nextInt();

    String name2 = input.next();

    Wanjia wan2=new Wanjia(id2,name2,shoupai2);

    public void s(){}

    就是想把输入那里提出来用一个方法包围,这样调用的时候比较方便,但是放入方法中后,其他方法不能访问shoupai1和shoupai2和wan1和wan2等,请问有什么办法可以把输入的int id1=input.nextInt();String name1 = input.next();这两个用方法包围起来,我理想中的结果↓.↓’Scanner input = new Scanner(System.in);

    List shoupai1 = new ArrayList() ;

    List shoupai2 = new ArrayList() ;

    Wanjia wan1=new Wanjia(id1,name1,shoupai1);

    Wanjia wan2=new Wanjia(id2,name2,shoupai2);

    public void s(){

    int id1=input.nextInt();

    String name1 = input.next();

    int id2=input.nextInt();

    String name2 = input.next();

    }

    展开全文
  • 今天我们要了解的Java局部变量及它和成员变量的区别,一起来看看吧。什么是局部变量?局部变量时就是只有一部分可见的变量,例如定义在方法中的变量,只有这百个方法才能使用,同一个的其他方法或者其他的都不...

    大家知道Java中的局部变量吗?今天我们要了解的Java的局部变量及它和成员变量的区别,一起来看看吧。

    什么是局部变量?

    局部变量时就是只有一部分可见的变量,例如定义在方法中的变量,只有这百个方法才能使用,同一个类的其他方法或者其他的类都不可见度。多态是面向对象编程的巨大优势,多态其实就是多种形态或者多种状态的意思,比如我们人来,我们都会说话,能思考,会打豆豆,但是人类具体概念概念太广泛了,例如:人类也分黄种人、黑人、白种人,不同的人种之间又有不同的属性,最明显的就如头发颜色,但是就算是同一种人也不会完全相同,它们的年龄、学历、性格。这就是java及所有面向对象语言最具特点的抽象与多态。从所有人类到某个人类,这是抽象,从某个人类到所有人类,这是多态,虽然都是人类,但是形态却是不可能完全一样的。

    Java中局部变量与成员变量区别在哪里?

    1. 定义的位置不一样

    局部变量:写在方法内部

    成员变量:写在方法外部,直接写在类当中

    2.作用范围不一样

    局部变量:只有方法当中才可以使用,出了方法就不能再用

    成员变量:整个类全都可以通用。

    3.默认值不一样

    局部变量:没有默认值,如果想要使用,必须手动进行赋值

    成员变量:如果没有赋值,会有默认值,规则和数组一样

    4.内存的位置不一样

    局部变量:位于栈内存

    成员变量,位于堆内存。

    5.生命周期不一样

    局部变量:随着方法进栈而诞生,随着方法出栈而死亡。

    成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失。

    例:public calss Demo01variableDifference

    {

    String name; //成员变量

    public void methodA()

    {

    int num = 20; //局部变量 默认值为NULL

    System.out.println(num);

    System.out.println(name);

    }

    public void methodB(int param)

    {

    //方法的参数就是局部变量

    System.out.println(param); //参数也是局部变量,为什么不赋值就可以输出?

    //因为参数在方法调用的时候,必然会被赋值的。不传参数就会报错。

    int age;

    //System.out.println(age);//错误写法 未赋值不能使用,必须赋值

    // System.out.println(num);//错误写法

    System.out.println(name);

    /

    }

    }

    以上就是Java局部变量的所有内容,更多Java入门知识请关注我们了解吧。

    展开全文
  • 原标题:Java 成员变量、变量、局部变量的... 成员变量和局部变量的区别成员变量:1、成员变量定义在中,在整个中都可以被访问。2、成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆...

    原标题:Java 成员变量、类变量、局部变量的区别

    变量名首写字母使用小写,如果由多个单词组成,从第 2 个单词开始的其他单词的首写字母使用大写。

    如果局部变量的名字和成员变量的名字相同, 要想在该方法中使用成员变量,必须使用关键字 this。

    a870d52d63669b60244a3b8ede0a2801.png

    bb8255ba36e1bde33820a6850325f28f.png

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

    成员变量:

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

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

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

    局部变量:

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

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

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

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

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

    成员变量和类变量的区别

    998cd4295c70295534aae4f5dd91139d.png

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

    不同的对象的实例变量将被分配不同的内存空间, 如果类中的成员变量有类变量,那么所有对象的这个类变量都分配给相同的一处内存,改变其中一个对象的这个类变量会影响其他对象的这个类变量,也就是说对象共享类变量。

    5941bbdaf3911387f090aa1dcee08f9b.png

    输出结果:

    ba69deca1b249d4a7c728a11ffc9c744.png

    271f9e11d8166fbd8250099f0f9d2178.png

    成员变量和类变量的区别

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

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

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

    2、调用方式不同

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

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

    3、别名不同

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

    静态变量也称为类变量。

    4、数据存储位置不同

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

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

    static:关键字,是一个修饰符,用于修饰成员(成员变量和成员函数)

    特点:

    1、想要实现对象中的共性数据的对象共享。可以将这个数据进行静态修饰。

    2、被静态修饰的成员,可以直接被类名所调用。也就是说,静态的成员多了一种调用方式。类名.静态方式。

    3、静态随着类的加载而加载。而且优先于对象存在。

    弊端:

    1、有些数据是对象特有的数据,是不可以被静态修饰的。因为那样的话,特有数据会变成对象的共享数据。这样对事物的描述就出了问题。所以,在定义静态时,必须要明确,这个数据是否是被对象所共享的。

    2、静态方法只能访问静态成员,不可以访问非静态成员。因为静态方法加载时,优先于对象存在,所以没有办法访问对象中的成员。

    3、静态方法中不能使用this,super关键字。因为this代表对象,而静态在时,有可能没有对象,所以this无法使用。

    什么时候定义静态成员呢?或者说:定义成员时,到底需不需要被静态修饰呢?

    成员分两种:

    1、成员变量。(数据共享时静态化)

    该成员变量的数据是否是所有对象都一样:

    如果是,那么该变量需要被静态修饰,因为是共享的数据。

    如果不是,那么就说这是对象的特有数据,要存储到对象中。

    2、成员函数。(方法中没有调用特有数据时就定义成静态)

    如果判断成员函数是否需要被静态修饰呢?

    只要参考,该函数内是否访问了对象中的特有数据:

    如果有访问特有数据,那方法不能被静态修饰。

    如果没有访问过特有数据,那么这个方法需要被静态修饰。

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

    1、成员变量所属于对象。所以也称为实例变量。

    静态变量所属于类。所以也称为类变量。

    2、成员变量存在于堆内存中。。

    静态变量存在于方法区中。

    3、成员变量随着对象创建而存在。随着对象被回收而消失。。

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

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

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

    所以,成员变量可以称为对象的特有数据,静态变量称为对象的共享数据。返回搜狐,查看更多

    责任编辑:

    展开全文
  • 一起学JAVA 方法 局部变量 成员变量

    万次阅读 多人点赞 2021-04-01 23:59:30
    2.2 局部变量 位置:定义在方法里或者局部代码块中 注意:必须手动初始化来分配内存.如:int i = 5;或者int i; i = 5; 作用域:也就是方法里或者局部代码块中,方法运行完内存就释放了 2.3 成员变量 位置:定义在里方法...

    1 变量

    1.1 概念

    可以改变的数,称为变量。在Java语言中,所有的变量在使用前必须声明。
    一般通过“变量类型 变量名 = 变量值 ;”这三部分来描述一个变量。如:int a = 3 ;
    变量的使用原则:就近原则,即尽量控制变量的使用范围到最小

    1.2 局部变量

    位置:定义在方法里或者方法的声明上
    注意:必须手动初始化来分配内存.如:int i = 5;或者int i; i = 5;
    生命周期:随着方法的调用而存在,方法运行完毕就释放了

    1.3 成员变量

    位置:定义在类里方法外
    注意:不用初始化,也会自动被初始化成默认值
    生命周期:整个类中,类消失了,成员变量才会释放
    8大类型速查表(含默认值)

    1.4 练习:变量的默认值测试

    创建包: cn.tedu.basic
    创建类: TestVariable1.java

    package cn.tedu.design;
    /*本类用于测试各种类型变量的默认值*/
    public class TestVariable1 {
            static String name;
            static byte b;//整数类型默认值都是0
            static short c;
            static int d;
            static long e;
            static float f;//小数类型的默认值是0.0
            static double g;
            static char j;//char类型的默认值是\u0000
            static boolean h;//boolean类型的默认值是false
    
            public static void main(String[] args) {
                System.out.println(name);//null,引用类型的默认值
                System.out.println(b);
                System.out.println(c);
                System.out.println(d);
                System.out.println(e);
                System.out.println(f);
                System.out.println(g);
                System.out.println(h);
                System.out.println(j);
                System.out.println(h);
            }
        }
    

    1.5 练习:局部变量与成员变量测试

    创建包: cn.tedu.basic
    创建类: TestVariable2.java

    package cn.tedu.oop;
    /**本类用于测试变量的使用*/
    public class TestVariable2 {
        //2.定义成员变量:
        //1)位置:类里方法外
        //2)无需手动初始化,会自动赋予对应类型的默认值
        //3)作用域:在整个类中生效,类消失,变量才会消失
        static int count;
       
        //3.变量有一个使用的原则:就近原则
        static int sum = 200;
        public static void main(String[] args) {
            //1.定义局部变量:
            //1)位置:在方法里/局部代码块里
            //2)必须手动初始化
            //3)作用域:在方法/局部代码块中,对应的代码执行完局部变量就被释放
            int sum = 100;//定义在方法中的局部变量sum
            System.out.println(sum);//变量的就近原则:使用的都是自己附近的变量,100
            System.out.println(count);
           
            for (int i = 0; i < 10; i++) {//局部变量i只能在循环中使用
                System.out.println(i);
            }
            //System.out.println(i);//报错:无法引用变量i:i cannot be resolved to a variable
        }
    }
    

    2 方法

    2.1 概述

    被命名的代码块,方法可以含参数可以不含参数,可以提高代码的复用性。

    2.2 方法定义的格式

    在这里插入图片描述

    2.3 方法调用顺序图

    顺序执行代码,调用指定方法,执行完毕,返回调用位置
    方法的调用顺序

    2.4 练习:测试方法的调用顺序/参数/返回值

    创建包:cn.tedu.method
    创建类:TestMethod .java

    package cn.tedu.method;
    /**本类用于测试方法*/
    public class TestMethod {
    	//1.创建程序的入口函数main()
    	public static void main(String[] args) {
    		System.out.println(1);
    		/**2.我们通过方法名+参数列表的方式来调用方法的功能*/
    		method1();//调用method1()
    		System.out.println(2);
    		method2(3);//调用method2()
    		int result = method3(1,2);//调用method3()
    		System.out.println(result);
    	}
    
    	/**3.如果方法想要返回值,必须修改返回值类型
    	 * 并且return对应类型的结果
    	 * 如果方法的返回值类型是void,不允许有返回值
    	 * */
    	/*本方法用来测试方法的返回值类型*/
    	public static int method3(int i, int j) {
    		/**4.通过return关键字将方法结果返回到调用位置*/
    		return i+j;
    	}
    
    	/**1.方法的修饰符 方法的返回值类型 方法名(方法参数){方法体}*/
    	/*method1()想测试方法的调用顺序*/
    	public static void method1() {
    		System.out.println(5);
    		System.out.println(6);
    		System.out.println(7);
    	}
    	
    	/*本方法用来测试方法的参数,参数的位置在小括号里*/
    	public static void method2(int a) {
    		System.out.println("海绵宝宝今年:"+ a +"岁啦~");
    	}	
    }
    

    2.5 方法的重载

    方法的重载是指在一个类中定义多个同名的方法,但是每个方法的参数列表不同(也就是指参数的个数和类型不同),程序在调用方法时,可以通过传递给他们的不同个数和类型的参数来决定具体调用哪个方法.

    2.6 练习:测试方法的重载

    创建包: cn.tedu.method
    创建类: TestMethodOverload.java

    package cn.tedu.method;
    /**本类用于测试方法的重载*/
    public class TestMethodOverload {
    	public static void main(String[] args) {
    		/**1.我们根据方法名+参数列表确定具体调用哪个方法*/
    		/**2.方法的重载:
    		 * 在同一个类中,存在方法名相同,但参数列表不同的方法
    		 * 如果在同类中,同名方法的参数个数不同,一定构成重载
    		 * 如果在同类中,同名方法的参数个数相同,
    		 * 需要查看对应位置上参数的类型,而不是参数名,与参数名无关
    		 * (int a,String b)与(int b,String a)--不构成重载
    		 * (int a,String b)与(String a,int b)--构成重载
    		 * */
    		//2.调用method()
    		method();
    		//4.调用method(int)
    		method(666);
    		//6.调用method(int,String)
    		method(888,"泡泡");
    	}
    
    	//1.创建一个无参的method()
    	public static void method() {
    		System.out.println("哈哈哈哈我没参数");
    	}
    	//3.创建一个method(int n)
    	public static void method(int n) {
    		System.out.println("哈哈哈哈我的参数是:"+n);
    	}
    	//5.创建一个method(int n,String s)
    	public static void method(int a,String b) {
    		System.out.println(b+"今晚要干他"+a+"碗大米饭");
    	}
    	public static void method(String a,int b) {
    		System.out.println(b+"今晚要干他"+a+"碗大米饭");
    	}
    }
    

    3 拓展 成员变量与局部变量的区别

    在这里插入图片描述

    展开全文
  • Java成员变量和局部变量,成员变量:在类范围里定义的变量。成员变量又分为实例属性(不用static修饰)和类属性(用static修饰)。类属性和实例属性统称为成员变量。类属性在类的准备阶段开始存在,直到系统销毁这个类...
  • 局部变量和成员变量的不同: 1、定义的位置不一样 局部变量:定义在方法内部 成员变量:在方法外部,直接写在中 2、作用范围不一样 局部变量:只有方法中能使用,除了方法就不能用 成员变量:整个都可以...
  • 通过一个简单的 demo 我们学习下 java成员变量和局部变量的相关知识点。Demo说说下面代码执行打印的结果是什么?public class MainClass {public static void main(String[] args) {// 局部变量 m1 Variable m1 =...
  • 分类细则:变量按作用范围划分分为全局变量(成员变量)和局部变量成员变量按调用方式划分分为实例属性与属性局部变量按定义位置划分分为形参,方法局部变量,代码块局部变量成员变量:直接在中声明的变量叫成员...
  • java中一般有三种变量:变量,成员变量和局部变量变量1.下面先看变量,看下面这个例子public class Demo6{public String name;public int age;public static String sex="男";public Demo6(String name, int ...
  • 局部变量 位置:定义在方法里或者局部代码块中 注意:必须手动初始化来分配内存.如:int i = 5;或者int i; i = 5; 作用域:也就是方法里或者局部代码块中,方法运行完内存就释放了 成员变量 位置:定义在里方法外 ...
  • 但这这么说也不怎么准确,因为java中的变量(我觉得称为字段更合适),分为属于成员变量和属于函数或者局部代码块的局部变量。如果在定义变量后没有给它们赋初始值,那么java会给于一个默认的初始化值,但只有的...
  • 展开全部java易混淆概念之变量32313133353236313431303231363533e4b893e5b19e31333365643662、实例变量、局部变量类变量、实例变量、局部变量类变量是中独立于方法之外的变量,用static 修饰。实例变量也是中...
  • 要想区分这哥俩,首先,我们得知道它们...用class来描述事物也是如此:属性:对应中的成员变量行为:对应中的成员函数定义其实就是在定义中的成员(成员变量和成员函数)拓展:是一个抽象的概念,而对象就...
  • 看到成员变量和局部变量同名这个知识点的时候一开始有点懵逼,想了一下其实特别简单。先来看一个简单的代码。首先我定义了一个Person。public classPerson {private int age=1000;//定义成员变量,年龄为1000...
  • 成员变量和局部变量 根据定义变量位置的不同,可以将变量分为成员变量和局部变量 成员变量是在范围内定义的变量 局部变量是在一个方法内定义的变量 成员变量可以分为: 实例属性 (不用static修饰) ...
  • 引用博客园一位老师的博客来说明: 看到成员变量和局部变量同名这个知识点的时候一开始有点懵逼,想了一下其实特别简单。先来看一个简单的代码。首先我定义了一个Person。 public classPerson {private int age=...
  • 导读学习Java的过程中,一开始很容易被这些各种变量绕晕,这篇博客主要介绍了这几种变量之间的关系区别。例程package com.cunyu.demopublic class Demo {private String name; //成员变量、实例变量private int ...
  • 成员变量中,方法外,一种是有static修饰,一种是实例变量没有static修饰 局部变量:形参/非静态代码块中 2.修饰符使用 成员变量:public、protected、private、final,static,volatile,transient 局部变量:...
  • 在定义时,经常需要抽象出它的属性,并定义在的主体中。...成员属性成员属性是抽象出来的属性,成员属性不能直接被外部访问或修改,需要通过getset方法来访问或修改属性值,成员属性一般用private...
  • /*** 成员变量和局部变量***/public classVariableTest {//成员变量public static String staticname = "属性";public String nostaticname = "实例属性";//没有初始化的成员变量public staticString staticname1;...
  • Java中,成员变量和局部变量存在较大的差异性。首先,我们来看一下变量的分类图: 成员变量成员变量被分为:属性和实例属性。实例属性:定义一个属性时,不使用static修饰的就是实例属性,属性:定义一个属性...
  • 成员变量可以分为普通成员变量和静态成员变量,这里说的成员变量为静态成员变量。但局部变量并没有静态局部变量! 下面书写一段代码 public class Variable { int var1;//普通成员变量 static int var2;//静态成员...
  • 一、实例变量也叫对象变量、类成员变量;从属于生成对象时,才分配存储空间,各对象间的实例变量互不干扰,能通过对象的引用来访问实例变量。但在Java多线程中,实例变量是多个线程共享资源,要注意同步访问时...
  • 本文实例分析了java成员变量局部变量区别。分享给大家供大家参考。具体分析如下:成员变量:在这个里定义的私有变量,属于这个。创建以及使用成员变量public class Person {String name;String Sex;int age;...
  • * 局部变量: * 定义:在方法内定义的变量称为局部变量 * 作用域:从变量定义开始到方法结束 * 注意: * 1、局部变量只能在当前方法中使用,其他地方都不能使用 * 2、局部变量如果没有使用,只是定义的话,不会报错...
  • Java成员变量和局部变量区别

    千次阅读 2021-03-19 10:18:38
    掌握Java成员变量和局部变量 学习内容: 1、变量分类 变量的定义语法 数据类型 变量名 = 初始值; 根据变量定义位置的不同,分成两大 成员变量: 直接定义在中,方法外面。又称之为字段(Field),不要称...
  • public class Test {private String name;...}}总的来说,定义在里的,也就是name那个位置,就是成员变量,在JAVA里全局变量和成员变量是一个意思。定义在方法里或域里就叫做局部变量,所谓域就是{}里面,比如p...
  • 一.类和对象的区别是对某一事物的抽象描述,而对象用于表示现实中该事物的个体 可以将玩具模型看作是一...定义的位置不同定义在中的变量是成员变量定义在方法中或者{}语句里面的变量是局部变量2.在内存中的...
  • 对于成员变量和局部变量:成员变量就是方法外部,的内部定义的变量;局部变量就是方法或语句块内部定义的变量。局部变量必须初始化。 形式参数是局部变量局部变量中基础数据类型的引用和值都存储在栈中,对象...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 174,930
精华内容 69,972
关键字:

java局部变量和类成员变量

java 订阅