1.可以在具有对象引用返回类型的方法中返回null public Button doStuff(){ return null; } 2.数组是完全合法的返回类型 public String[] go(){ return new String[]{"wangsan","wangsan","wangsi"}; } 3.在具有基本返回类型的方法内,可以返回任何值或变量,只要他们可以隐式转换成所声明的返回类型 public int foo(){ char c=‘c’; return c;//char可以转化成int } 4.在具有基本返回类型的方法内,可以返回任何值或变量,只要他们可以显示强制转换成所声明的返回类型(这个不举例子了) 5.一定不能从返回类型为void的方法返回任何值(^_^),当然可以用return中断程序。 public void bar(int a){ //负数则中断操作, if(a<0){ return; } //do other things } 6.在具有对象引用返回类型的方法内,可以返回任何值或变量,只要他们可以隐式转换成所声明的返回类型(通过is-a测试即可) public Animal getAnimal(){ return new Dog();//只要Dog继承Animal即可 }
运行的先后顺序,finnaly先执行
public class Test { public static void main(String[] args) { System.out .println(test ()); } public static String test() { try { System.out .println("try block"); return test1 (); } finally { System.out .println("finally block"); //return "finally"; } } public static String test1() { return "after return"; } } /*1.try语句块,return test1(),则调用test1方法 2.test1()执行后返回"after return",返回值"after return"保存在一个临时区域里 3.执行finally语句块。若finally语句有返回值,则此返回值将替换掉临时区域的返回值 4.将临时区域的返回值送到上一级方法中。*/