Java面向对象之变量

Java面向对象之变量

成员变量和局部变量

​ 类体分为两个部分:变量的声明和方法的定义。我们将在方法中声明的变量和方法的参数称为局部变量,将在类中(方法体外)生成的变量称为类的成员变量。

变量的类型

​ 成员变量和局部变量可以是java中任何一种数据类型,包括:整型、浮点型、字符型、数组、对象、接口等。例如:

class Person{
    int age; 
    String name;
 	void talk(){
        boolean cool;
        Man man_1;
    }
}

class Man{
    int age;
}
变量的作用域
  • 成员变量作用域为整个类,其有效性与成员变量出现的位置无关

  • 局部变量作用域为其声明的方法内,方法内的局部变量作用域为其声明位置到方法结束位置

  • 方法的参数在整个方法内有效

  • 复合语句中的局部变量的作用域为当前符合语句中

  • 循环语句中的局部变量作用域只在当前循环语句中

    class A{
        int age; // 成员变量,作用域为整个类
        void talk(int num){ // num 参数,作用整个talk方法中
            int phone; // 局部变量,作用这个talk中
            if (age < 18){
                int data; // data 仅作用于当前符合语句中
            }
            for (int i = 0;i<100;i++){
                i ++ ; // i仅作用于循环语句中
            }
            age = i + data // i 和 data已经失效
            int num1 = 11;
            int addInt(int num1, int num2){
                return num1 + num2; // 成员变量其有有效性与成员变量出现的位置无关
            }
            int num2 = 12;
        }
    }
    
实例变量与类变量

​ 成员变量可以分为实例变量和类变量(静态变量),在声明时使用static修饰的为类变量(静态变量),否则称为实例变量

class B{
	static int age; // 类变量(静态变量)
	float x; 实例变量
}

注意:

​ 如果出现成员变量和局部变量名称相同时,成员变量会被隐藏,方法中会使用局部变量。如果要想在方法中使用成员变量则需要使用this关键字。

class Bob{
	int x =98,y;
	void addInt(){
		int x = 3;
		y = x; // 此处y为3
	}
    void addI(){
        int x = 11;
        y = this.x; // 此处y为98
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值