访问对象的唯一方法是通过引用变量。引用变量被声明为特定类型,并且该类型永远不能更改。引用变量可以声明为静态变量,实例变量,方法参数或局部变量。
声明为final的引用变量永远不能重新分配为引用其他对象。可以修改对象内的数据,但不能更改引用变量。
package org.nhooo.example.basic; public class ReferenceDemo { public static void main(String[] args) { // 引用变量声明 Reference ref1, ref2; // ref3被声明为final,不能重新分配ref3 // 或引用不同的对象 final Reference ref3; // 为ref1分配对象Reference ref1 = new Reference("This is the first reference variable", 1); // 对象引用的访问方法getNumber() // 变量ref1 int number = ref1.getNumber(); System.out.println("number= " + number); // 为ref2分配对象Reference ref2 = new Reference("This is the second reference variable", 2); // 传递ref2作为printText()方法的方法参数 ReferenceDemo.printText(ref2); // 为ref3分配对象Reference ref3 = new Reference("This is the third reference variable", 3); // 尝试重新分配ref3将导致编译时错误 // ref3 = new Reference(“尝试重新分配”,3);"Try to reassign", 3); } public static void printText(Reference reference) { String text = reference.getText(); System.out.println(text); } }
package org.nhooo.example.basic; public class Reference { private int number; private String text; Reference(String text, int number) { this.text = text; this.number = number; } public String getText() { return text; } public int getNumber() { return number; } }