精华内容
下载资源
问答
  • 可以,局部变量可以成员变量重名,这时可用“this”来指向成员变量 B.可以,这时可用“local”关键字来指向局部变量 C.不能,局部变量不能成员变量重名 D.不能,一个类中不能有重名变量,不管是成员变量...

    3.局部变量能否和成员变量重名?


    A.可以,局部变量可以与成员变量重名,这时可用“this”来指向成员变量

    B.可以,这时可用“local”关键字来指向局部变量

    C.不能,局部变量不能与成员变量重名

    D.不能,在一个类中不能有重名变量,不管是成员变量还是函数中的局部变量

     


    本题选A。

    java采用局部优先的思想。局部变量可以和成员变量相同,使用标识符调用时,优先使用局部变量。在实例方法中出现变量名相同时,可以使用this关键字来调用。

    展开全文
  • 局部变量 定义:方法内定义的变量称为“局部变量”或...当局部变量与全局变量重名时,起作用的是局部变量成员变量 定义:类体的变量部分中定义的变量,也称为字段。 区别: java中没有全局变量的定义...

    局部变量

    定义:在方法内定义的变量称为“局部变量”或“临时变量”,方法结束后局部变量占用的内存将被释放。

    全局变量

    定义:全局变量,又称“外部变量”,它不是属于哪个方法,作用域从定义的地址开始到源文件结束。

     

    注意事项:

    当局部变量与全局变量重名时,起作用的是局部变量。

    成员变量

    定义:在类体的变量部分中定义的变量,也称为字段。

    区别:

    java中没有全局变量的定义,这是C中的
    例:
    class Demo{
        int x;// 非静态成员变量,又称为属性,对该类不同的对象来说,属性是不同的
    
        static int y;// 静态成员变量,一个类中只有一个该变量,该类不同的对象共享同一个静态成员变量
    
        public static void main(String[] args){
            int m = 0;// 局部变量,是方法内部定义的变量,只在方法内部可见,在该方法结束后,由垃圾回收器自动回收
        }
    
    }

     

    转载于:https://www.cnblogs.com/mr-hu2009/p/9346690.html

    展开全文
  • 全局变量和局部变量

    2019-03-03 11:48:07
    局部变量 定义:方法内定义的变量称为“局部变量”或“临时变量”,方法结束后局部变量占用的...当局部变量与全局变量重名时,起作用的是局部变量成员变量 定义:类体的变量部分中定义的变量,也称为字段。 ...

    局部变量

    定义:在方法内定义的变量称为“局部变量”或“临时变量”,方法结束后局部变量占用的内存将被释放。

    全局变量

    定义:全局变量,又称“外部变量”,它不是属于哪个方法,作用域从定义的地址开始到源文件结束。

    注意事项:

    当局部变量与全局变量重名时,起作用的是局部变量。

    成员变量

    定义:在类体的变量部分中定义的变量,也称为字段。

    展开全文
  • this的另外一个用途就是当方法的局部变量与类成员变量重名时方法里面就隐藏了类的成员变量。此时可以通过this.成员变量的方式来访问,如下程序: //程序1: public class Student { String name; //定义学生...

    调用成员变量

    this 指正在执行的对象。this的另外一个用途就是当方法的局部变量与类成员变量重名时,在方法里面就隐藏了类的成员变量。此时可以通过this.成员变量的方式来访问,如下程序:

    //程序1:
    public class Student {
    	String name;       //定义学生姓名
    	public Student(String name) {
    		this.name=name;//定义构造方法并初始化name
    	}
    	public static void main(String []args) {
    		Student stu=new Student("soft");
    	}
    }
    

    在该例子中,student类的构造方法中存在局部变量name与类成员变量同名的情况下,方法体里面,根据就近原则只看到方法形参的name,而类的成员变量被隐藏,如果需要,可以用this关键字来显示地访问被隐藏的成员变量,因为this是当前对象。

    调用其他构造方法

    当一个构造方法需要调用此类另一个构造方法时,也可以用this关键字,同时java要求这歌调用语句是整个构造方法的第一行,如下程序:

    //程序2:
    public class Student {
    	static String name;       //定义学生姓名
    	public Student(String name) {
    		this.name=name;//定义构造方法并初始化name
    	}
    	public Student() {//定义一个不带参数的构造方法
    		this("soft");//this.name="soft";这两句效果一样	
    	}
    	public static void main(String []args) {
    		Student stu=new Student();
    		System.out.println(name);
    	}
    }
    

    以下还有两个代码也是体现了this的作用:

    //程序3:
    public class Student {
    	static String name;       //定义学生姓名
    	public Student(String name) {
    		this.name=name;//定义构造方法并初始化name
    	}
    	public Student() {//定义一个不带参数的构造方法
    		this(name);
    		//this("soft");
    		//this.name="soft";
    		//这三句效果一样	,仔细对比体会用法
    	}
    	public static void main(String []args) {
    		Student stu=new Student("soft");
    		System.out.println(name);
    	}
    }
    
    
    
    public class Demo9_1 {
    	private String userName,password;
    	Demo9_1(){                      //显示地定义Demo9_1的构造方法
    		System.out.println("全部为空!");
    	}	
    	Demo9_1(String name){           //定义构造方法并初始化name
    		userName=name;
    	}
    	Demo9_1(String name,String pwd){//定义构造方法并初始化name和pwd
    		this(name);//采用this指针,因为参数与类的成员变量重名
    		password=pwd;
    		check();
    	}
    	//以上有三个构造方法,也叫多态的重载,但是要注意,他们的参数都是不一样的
    	
    	void check() {
    		String s=null;
    		if(userName!=null)
    			s="用户名"+userName;
    		else {
    			s="用户名不能为空!";
    		}
    		if(password!="12345678")
    			s=s+"口令无效";
    		else {
    			s=s+"口令:****";
    		}
    		System.out.println(s);
    	}
    }
    
    展开全文
  • 1.3 类中访问如何区分局部变量,本类成员变量和父类成员变量? 2.访问成员方法 2.1规则 2.2代码实现 前言 上一篇文章中介绍了继承的定义,类图以及代码实现。今天小编继续带大家学习继承类中如何访问成员...
  • C++如何类的成员函数中表示同名的全局变量?可以显式地通过作用域运算符::实现。 作用域运算符::的用法有2...当全局变量与局部函数中的某个局部变量重名时,可采用::+变量名的方式区分使用的是局部变量还是全局变量。
  • java变量初始化

    2015-10-12 15:54:00
    1. 成员变量  类体内且方法体之外定义的变量,作用域:整个类 静态变量(类变量):由关键字static修饰,内存中只占据一个单元 ...可以成员变量重名,访问此方法局部变量 声明局部变量是不
  • 调用的是本类的成员属性和成员方法(一般方法),更多的时候用在成员变量与局部变量重名时 B: 调用本类构造方法 this对象后面跟上()调用的是本类中的对应参数的构造函数。在构造方法的第一行调用,且只
  • PAGE PAGE 6 14年(下)程序设计JAVA语言复习题 第一单选 1. 若有定义int x=3,y;则执行语句y=(++x)+(++x)+(++x;后y= (A) 12 (B) 18 (C) 9 (D) 15 2.... 在成员变量与局部变量重名时若想在方法内使用成
  • 1:当类成员变量与局部成员变量重名时,可以用this 关键字把局部成员变量赋值给类成员变量 2:this可以用来构造函数中调用其他构造函数 //必须定义构造函数中的第一行 3:this调用本类中的其他方法,this通常...
  • 1:当类成员变量与局部成员变量重名时,可以用this 关键字把局部成员变量赋值给类成员变量 2:this可以用来构造函数中调用其他构造函数      //必须定义构造函数中的第一行 3:this...
  • 类的内部定义实例变量,实例方法同级别的类。 外部类的一个实例部分创建内部成员对象,必须依赖外部类对象。 成员内部类不能定义静态成员 Out out=new Out(); Out.Inner=out.new Inner(); 外部类和内部类...
  • 10.15

    2016-10-19 09:58:24
    成员和局部变量 成员变量定义类中,局部变量...成员变量与局部变量重名时,就近原则,调用局部变量。 public class Test2 { int var; int varinside = 0; public void print() { int varinside = 2; System.out.p
  • 定义成员方法

    千次阅读 2018-02-18 17:38:14
    成员方法只能类中定义,方法体内定义方法所使用的变量,要注意生存周期作用域是本方法内,离开本方法则这些变量自动释放,方法外调用方法编译出错。 局部变量的定义不受数据成员的影响,他们可以重名;...
  • this 关键字用来表示当前对象本身,或当前类的一个实例,...成员变量与方法内部的变量(或者形参)重名时,希望方法内部调用成员变量,怎么办呢?这时候只能使用this,例如: 这个例子也侧面验证了局部变量会覆盖成
  • 内部类 内部类概念:一个类的内部再定义一个完整的类. ...类的内部定义,实例变量、实例方法同级别的类。 外部类的一个实例部分,创建内部类对象,必须依赖外部不类对象。 当外部类、内部类存在重名属性...
  • JAVA基础补充点

    2015-08-09 22:10:20
    3)优先级不同:当成员变量局部变量重名时,采取就近原则,调用局部变量值 4)局部变量不同的方法中可重名 2.构造方法: 1)构造方法是定义类中用来初始化对象的方法 2)构造方法类同名
  • 而this代表本类对象的引用,通常用与成员变量与局部变量重名时。 super代表子类对父类满参构造函数的初始化,也是需要产生对象才可以使用 但是考虑到虚拟机加载顺序为先加载类,当被实例化才产生对象。 所以如果...
  • this和super的用法thisthis的作用直接引用相当于指向当前对象本身当实例变量与局部变量重名时在构造器中使用supersuper作用普通直接引用子类中的成员变量或方法与父类中的成员变量或方法同名引用父类的构造函数 ...
  • java中thissuper

    2020-10-09 19:33:25
    1、this的含义 this代表当前对象 2、this使用位置 ...当方法的局部变量与当前对象的成员变量重名时,就可以在成员变量前面加this.,如果没有重名问题,就可以省略this. this.成员变量会先从本类声明的成员变量列
  • * 子父类的继承关系中,如果成员变量重名,则创建子类对象,访问有两种方式: 直接通过子类对象访问成员变量:等号左边是谁,就优先用谁,没有则向上找。 间接通过成员方法访问成员变量:该方法属于谁,就优先...
  • this关键字

    2019-07-29 14:24:51
    1.方法中用this调用成员变量,解决与局部变量重名问题 this实例方法中通常被省略,除非实例方法中包含与成员变量同名的局部变量,访问成员变量需要使用this。 public class Student{ String name="Tom...
  • this

    2019-10-11 12:02:54
    1.当成员变量局部变量重名时方法中使用this时,表示的是该方法所在类中的成员变量。(this指向当前对象自己)。 如果方法内局部变量的命名实例变量的命名相同,根据内部屏蔽外部的原则,实例变量这个...
  • 一、父子类的继承关系当中,如果成员变量重名,则创建子类对象,访问有两种方式: 1.直接通过子类对象访问成员变量: 等号左边是谁,就优先用谁,没有则向上找。 2.间接通过成员方法访问成员变量: 该方法...
  • 1.当成员变量局部变量重名时方法中使用this时,表示的是该方法所在类中的成员变量。(this指向当前对象自己)。 如果方法内局部变量的命名实例变量的命名相同,根据内部屏蔽外部的原则,实例变量这个...
  • this private 用法

    2020-06-16 11:42:33
    1:局部变量与成员变量重名时,用this调用成员变量(谁调用包含this的方法,this就指谁); public class St{ String name; public void getSt(String name){ printli(name+name) //第二个neme是调用它类的name属性...
  • thissuper区别?

    2020-04-24 00:09:11
    1 this 指调用当前对象,它的用处是: 方法的局部变量和成员变量重名时候用this。 调用本类中的其他构造方法,调用要放在...this super都只能用在构造函数和实例方法内部,但this还可以用在成员变量的声明上。 ...
  • 1.在成员函数里,当局部变量与成员变量重名时,该变量指向的是局部变量。class Object { public: int x;//成员变量 void Test(int x) { printf("x=%d\n",x);//最近的:函数内定义的x } };如果要指定成员变量x,...

空空如也

空空如也

1 2 3 4
收藏数 77
精华内容 30
关键字:

在成员变量与局部变量重名时