public class ReferenceTest {
static class Student{
public Bag b;
public int a;
public String s;
public String getS() {
return s;
}
public void setS(String s) {
this.s = s;
}
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
public Bag getB() {
return b;
}
public void setB(Bag b) {
this.b = b;
}
}
static class Bag{
public String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public static void main(String[] args) {
//引用
// Student student = new Student();
// Bag bag1= student.b;
// System.out.println(bag1);
// student.b = new Bag();
// System.out.println(bag1);
//8种基本变量
// Student student = new Student();
// int a= student.a;
// System.out.println(a);
// student.a = 1;
// System.out.println(a);
//字符串
// Student student = new Student();
// String s= student.s;
// System.out.println(s);
// student.s = "s";
// System.out.println(s);
//// int a=0;
// int b =a;
// System.out.println(b);
// a=1;
// System.out.println(b);
String s = "s";
String s1 = s;
System.out.println(s1);
s="s2";
System.out.println(s1);
}
}
Student student = new Student();
Bag bag1= student.b;
System.out.println(bag1);
student.b = new Bag();
System.out.println(bag1);
Code:
stack=3, locals=3, args_size=1
0: new #2 // class com/example/demo/ReferenceTest$Student
3: dup
4: invokespecial #3 // Method com/example/demo/ReferenceTest$Student."<init>":()V
7: astore_1
8: aload_1
9: getfield #4 // Field com/example/demo/ReferenceTest$Student.b:Lcom/example/demo/ReferenceTest$Bag;
12: astore_2
13: getstatic #5 // Field java/lang/System.out:Ljava/io/PrintStream;
16: aload_2
17: invokevirtual #6 // Method java/io/PrintStream.println:(Ljava/lang/Object;)V
20: aload_1
21: new #7 // class com/example/demo/ReferenceTest$Bag
24: dup
25: invokespecial #8 // Method com/example/demo/ReferenceTest$Bag."<init>":()V
28: putfield #4 // Field com/example/demo/ReferenceTest$Student.b:Lcom/example/demo/ReferenceTest$Bag;
31: getstatic #5 // Field java/lang/System.out:Ljava/io/PrintStream;
34: aload_2
35: invokevirtual #6 // Method java/io/PrintStream.println:(Ljava/lang/Object;)V
38: return
String s = "s";
String s1 = s;
System.out.println(s1);
s="s2";
System.out.println(s1);
Code:
stack=2, locals=3, args_size=1
0: ldc #2 // String s
2: astore_1
3: aload_1
4: astore_2
5: getstatic #3 // Field java/lang/System.out:Ljava/io/PrintStream;
8: aload_2
9: invokevirtual #4 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
12: ldc #5 // String s2
14: astore_1
15: getstatic #3 // Field java/lang/System.out:Ljava/io/PrintStream;
18: aload_2
19: invokevirtual #4 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
22: return
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。