在面对对象中,变量作用是非常重要知识点
1 重要的变量是属性(成员变量)和局部变量
2局部变量在成员方法中定义的变量 cat类:cry
全局变量:属性。局部变量,方法中的变量
我们先来看看吧
主函数区
public class overload{//编写一个main方法public static void main(String[] args) {mycalculator m=new mycalculator();//可变参数的实参可以为数组,对象的属性是要到对象没了后,方法的变量在执行完后消失//属性可以在本类或者对象调用其他的对象中使用。方法只能在本类中m.sy();m.say();// my.calculate(1,122);// my.calculate("这些数掌握了吗");}
}
方法区
class mycalculator{//全局变量,也就是属性,作用域为整个类。方法可以直接使用属性int age=10;//可以指定age=10public void say(){int n=10;String name="jack";//这就相当于是局部变量了System.out.println(n);System.out.println(name);System.out.println(age+"年纪");}}
可看到,我在类的属性里面加了一个age的属性,它也可以叫做全局变量
我们在sy方法中使用它
System.out.println(age+年纪);
结果
10年纪
但如果我们自己的方法中有了age
public void say(){int n=10;int age=11;String name="jack";//这就相当于是局部变量了System.out.println(n);System.out.println(name);System.out.print(age+"年纪");}
这个时候age就会变为11了。因为是就近原则,遵循的是在调用时,谁离它近就用哪个
注意
- 局部变量不能重名
public void say(){int n=10;int n=11;String name="jack";//这就相当于是局部变量了System.out.println(n);System.out.println(name);System.out.print(age+"年纪");}
- 属性可以在本类或者对象调用其他的对象中使用。方法中的变量只能在本类中实现
如
T t=new T();mycalculator mu=new mycalculator();t.sau(mu);// my.calculate(1,122);// my.calculate("这些数掌握了吗");}
}
class mycalculator{//全局变量,也就是属性,作用域为整个类。方法可以直接使用属性int age=10;//可以指定age=10// public void calculate(String a,int... nuns){//表示是可变参数,类型是int 可以接受多个int// System.out.print("接受的参数个数"+nuns.length+a);// }
}
class T{mycalculator mu=new mycalculator();public void sau(mycalculator mu){System.out.print(mu.age);}//三个int的和
}
我在这里新建了一个T类。用来调用前面对象的属性,
还有就是
- 属性可加修饰符,局部变量不能加修饰符