public class FinalDemo {
//final對于基本類型,final使數(shù)值恒定不變
//用于對象引用,final使引用恒定不變,
//引用會一直指向此對象,不能改為指向另外一個對象。而對象其自身可以被修改
public final People people = new People(11);
public FinalDemo() {
}
public String getStr(String str) {
final String result = str;
return result;
}
public static void main(String[] args) {
FinalDemo f = new FinalDemo();
System.out.println(f.getStr("1"));
System.out.println(f.getStr("2"));
CC c = new CC();
System.out.println(c.getResult());
//final修飾的方法可以被訪問
c.sayHello();
System.out.println(f.people);
//修改引用的i變量
f.people.i += 10;
System.out.println(f.people);
}
}
//final 修飾的類不能被繼承
final class Abe {
Abe() {
System.out.println("this is Abe constructor");
}
}
class Bb {
//final修飾的屬性,只能賦值一次
final String string = "你好";
//final修飾的方法不能被重寫
final void sayHello() {
System.out.println("hello");
}
//private 修飾的方法不能為其他類訪問
private final void saybyebye() {
System.out.println("say byebye");
}
void sayHi() {
System.out.println("say hi");
}
String getResult() {
//final修飾的屬性,只能賦值一次
// string="他好";
return string;
}
}
class CC extends Bb {
@Override
void sayHi() {
super.sayHi();
}
}
class People {
int i;
public People(int i) {
this.i = i;
}
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
}
@Override
public String toString() {
return "People{" +
"i=" + i +
'}';
}
}