区分变量名称

时间:2016-02-21 10:05:11

标签: java

在我的班级中,我有变量名,形式参数名和本地变量名相同 在方法体中,我想将参数分配给实例变量 我如何区分变量?

import java.util.Scanner;
class Setts 
{

static int a=50;
void m1(int a)
    {
                  int a=100;
    this.a=a;//here am set the int a value give the solution;
    }
    void disp()
    {
        System.out.println(Setts.a);
        //System.out.println(ts.a);
    }
}
class SetDemo
{

public static void main(String[] args) 
{
    System.out.println("Hello World!");
    Setts ts=new Setts();
    Scanner s=new Scanner(System.in);
    System.out.println("entet the int value");
    int x=s.nextInt();
    ts.m1(x);
    ts.disp();
    //System.out.println(ts.a);
}
}

1 个答案:

答案 0 :(得分:1)

简而言之,您不能拥有隐藏参数的局部变量。编译器不允许它。

e.g。

class A {
   int x;
   void method(int x) {
       int x; // not allowed, it won't compile.

因此,如果您有字段和参数名称,则可以使用参数名称。

你可以拥有的是

class A {
   int x;
   void method(int x) {

       int y = x; // the parameter
       int z = this.x; // the field above.