方法引用的形式
方法引用的標準形式是:類名::方法名。(注意:只需要寫方法名,不需要寫括號)
有以下四種形式的方法引用:
型別 示例
引用靜態方法 containingclass::staticmethodname
引用某個物件的例項方法 containingobject::instancemethodname
引用某個型別的任意物件的例項方法 containingtype::methodname
引用構造方法 classname::new
下面我們通過乙個小demo來分別學習這幾種形式的方法引用:
student 類:
public
class student
public string getname()
public
void
setname(string name)
public
intgetscore()
public
void
setscore(int score)
public
static
intcoomparestudentbyscore(student student1,student student2)
public
static
intcoomparestudentbyname(student student1,student student2)
public
intcomparescore(student student)
}
studentcomparator 比較器:
public
class studentcomparator
public
intcoomparestudentbyname(student student1,student student2)
}
測試類:methodreferencetest
* created by ceaserwang on
2017/1/15.
*/public class
methodreferencetest
public string tostring2(string str, functionfunction)
public static void main(string args)
}
jdk8 方法引用 lambda 匿名內部類
匿名內部類 lambda和方法引用其實是相通的,從匿名內部類到lambda到方法引用是乙個進化的過程,是乙個簡化的過程,更加是乙個從抽象的過程。作用都是實現介面方法,換句話說就是實現介面 只是這個介面只有乙個抽象方法。匿名內部類省去了實現類,直接new 介面名 沒有實現類名,實際就是實現且建立了乙個...
jdk8 之方法引用
方法引用 實際上是lamda函式的語法糖 有時候並不適用 我們可以講方法引用看做乙個函式指標.function pointer 方法引用分為4類 類名 靜態方法名 建立乙個類 public class student public void setname string name public in...
jdk8 方法引用 或者說雙冒號
還是本著先學習的態度看看這個特性長什麼樣。然後看看到底代表了什麼。一般用在什麼地方。第一種 static方法的引用 就是你如果有個類有個靜態方法。你可以直接寫 containingclass staticmethodname 但是我有個疑問。這麼寫了之後。這個整體表示的是啥。如果照以前contain...