Java初学者值得思考的一个问题:Java 中 方法 访问数据(对象引用) 的方式有哪些?
(这个问题或许提的不好,看答案脑补吧。。)
1 访问方法中的参数
public Class A{
public void fun(String arg,Dog dog){
System.out.print(arg); // 1 访问方法参数arg
dog.sayHello();
}
}
2 访问临时变量
public Class B {
public void fun(){
int a = 1 ;
System.out.println(a); // 2 访问基础类型 的 局部变量
Object ob = new Object();
System.out.println(ob); // 2 访问引用类型 的 局部变量
}
}
3 访问本类的成员变量
public Class C{
private Dog dog;
public Cat cat;//随便一个类
public void fun(){
getDog().sayHello(); // 3 访问私有成员变量
cat.sayHello();; //3 直接访问 公有成员变量
}
public void setDog(Dog dog){
this.dog=dog;
}
public Dog getDog(){
return this.dog;
}
}
4 访问其他类的成员变量
public Class D{
public void fun(){
(new Cat()).name; // 4 访问其他类的 公有成员变量;
Cat.type; //4 访问其他类的 静态成员变量
}
}
public Class Cat{
public String name;
public Static String type;
}
5 访问自身
public Class F{
public void fun(){
this.toSting(); //5 直接使用本对象的一个引用
ServiceManager.init(this); //5 也是访问自身,但是却将自身传递到另一个类去处理。
}
}
自学过程冒出来的问题,感觉从中受益匪浅。仅供初学者一起讨论思考。