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);
}
}
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)