在我的班级中,我有变量名,形式参数名和本地变量名相同 在方法体中,我想将参数分配给实例变量 我如何区分变量?
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);
}
}
答案 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.