java中方法参数的使用
2011-10-23 01:13
330 查看
package test;
import java.util.Random;
public class Practise {
private String name;
static{
Random random = new Random();
int currInt = random.nextInt(10000);
System.out.println("Random CurrentInt: " + currInt);
}
{
System.out.println("代码块!!!");
}
public Practise(String name){
this.name = name;
}
public static void main(String[] args){
Practise p1 = new Practise("p1");
System.out.println("p1 1 name: " + p1.name);
setGetObject(p1);
System.out.println("p1 2 name: " + p1.name);
Practise p3 = new Practise("p3");
System.out.println("p2 1 name: " + p3.name);
setGetValue(p3);
System.out.println("p2 2 name: " + p3.name);
}
public static void setGetValue(Practise p){
p.name = "p2";
System.out.println(p.name);
}
public static void setGetObject(Practise p){
Practise p2 = new Practise("p2");
p = p2;
System.out.println(p.name);
}
}
结果:
Random CurrentInt: 2494
代码块!!!
p1 1 name: p1
代码块!!!
p2
p1 2 name: p1
代码块!!!
p2 1 name: p3
p2
p2 2 name: p2
通过这个小例子可以知道:
1.一个方法可以改变一个对象参数(p2)的状态(name)
2.一个方法不能实现让对象参数应(p1)用一个新的对象(p3)
注:一个方法不能修改一个基本类型的参数(值传递)
import java.util.Random;
public class Practise {
private String name;
static{
Random random = new Random();
int currInt = random.nextInt(10000);
System.out.println("Random CurrentInt: " + currInt);
}
{
System.out.println("代码块!!!");
}
public Practise(String name){
this.name = name;
}
public static void main(String[] args){
Practise p1 = new Practise("p1");
System.out.println("p1 1 name: " + p1.name);
setGetObject(p1);
System.out.println("p1 2 name: " + p1.name);
Practise p3 = new Practise("p3");
System.out.println("p2 1 name: " + p3.name);
setGetValue(p3);
System.out.println("p2 2 name: " + p3.name);
}
public static void setGetValue(Practise p){
p.name = "p2";
System.out.println(p.name);
}
public static void setGetObject(Practise p){
Practise p2 = new Practise("p2");
p = p2;
System.out.println(p.name);
}
}
结果:
Random CurrentInt: 2494
代码块!!!
p1 1 name: p1
代码块!!!
p2
p1 2 name: p1
代码块!!!
p2 1 name: p3
p2
p2 2 name: p2
通过这个小例子可以知道:
1.一个方法可以改变一个对象参数(p2)的状态(name)
2.一个方法不能实现让对象参数应(p1)用一个新的对象(p3)
注:一个方法不能修改一个基本类型的参数(值传递)
相关文章推荐
- 两种模型选择和超参数调整方法及Spark MLlib使用示例(Scala/Java/Python)
- Java基础---Java中无参数带返回值方法的使用(三十七)
- 使用ASM获取java的构造函数参数名称和方法参数名称
- 测试JAVA的不定长参数方法add(int... a)的具体使用
- Java 方法使用final 修饰参数的作用
- java方法参数的使用情况
- Java方法参数的使用情况
- Java基础---Java中带参数无返回值方法的使用(三十九)
- Effective Java Item2:当构造方法的参数(尤其是可选参数)比较多时使用Builder模式
- 波哥学java, 5.10.3 理解main()方法 String[] args的使用 向 java 中传递参数
- freemarker中参数及java片段的使用方法
- Java学习笔记43. 使用对象作为方法的参数
- Java中方法参数使用
- 使用JAVA的反射机制反射带有数组参数的私有方法
- Java基础---Java中带参数返回值方法的使用(四十)
- 【java】使用Builder模式,轻松应对动态繁杂的方法参数
- 使用JAVA的反射机制反射带有数组参数的私有方法
- java中可变长参数的定义及使用方法
- java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释
- java中可变长参数的使用方法