public class EnumMethod {
public enum Title{
MR("Mr."), MRS("Mrs."),MS("Ms");
private final String title; //为什么可以是final
private Title(String t){
title = t;
}
public String formate(String last, String first){
return title + " " + first +" "+last;
}
}
public static void main(String[] args) {
System.out.println(Title.MR.formate("do", "undo"));
System.out.println(Title.MRS.formate("do", "undo")); //按理说只有一个引用的
}
}
public enum Title{
MR("Mr."), MRS("Mrs."),MS("Ms");
private final String title; //为什么可以是final
private Title(String t){
title = t;
}
public String formate(String last, String first){
return title + " " + first +" "+last;
}
}
public static void main(String[] args) {
System.out.println(Title.MR.formate("do", "undo"));
System.out.println(Title.MRS.formate("do", "undo")); //按理说只有一个引用的
}
}
public class FinalTest {
StringBuffer str = new StringBuffer("old");
private final StringBuffer fin = str; public static void main(String[] args) {
FinalTest s = new FinalTest();
s.test();
}
private void test(){
System.out.println(fin);
System.out.println(str);
str.append("new");
System.out.println(fin);
System.out.println(str);
}
}输出结果:
old
old
oldnew
oldnew说明fin的数据变换了。
1.声明的同时赋值;
2.声明时不赋值,到构造器中再赋值;不管使用哪种方式,一旦赋值之后,就不能再重新赋值了。