在面对对象中,变量作用是非常重要知识点
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=10
public 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类。用来调用前面对象的属性,
还有就是
- 属性可加修饰符,局部变量不能加修饰符