一、abstract可不可以 與 final private static共存?
1.abstract 和 static 不能一起使用
因為static修飾的成員方法多了一種調用方式: 類型.成員名 。靜态(static)與類有關和對象無關,調用抽象方法并不存在實際意義,是以兩者不能一起使用。
2.abstract 和 final 不能一起使用
被final修飾的成員方法無法再在子類中被重寫,而abstract修飾的成員方法要求在子類中必須重寫,兩者自相沖突,是以不行。
3.abstract 和 private 不能一起使用
被private修飾的成員無法被子類繼承,何來重寫一說?
二、static final abstract的差別
1.static
屬性: 共有的 通過類名直接調用
方法: 共有的 通過類名直接調用
特點:static修飾的靜态成員方法中不能含有this和super關鍵字
隻能直接調用靜态成員,而不能直接非靜态(可以通過建立靜态調用非靜态成員)
2.final
屬性:被final修飾的成員屬性或者局部變量,會最終變為常量
方法:被final修飾方法将不能在子類中被重寫
類:被final修飾的類将無法被繼承
3.abstract
方法:被abstract修飾的方法稱為抽象方法,抽象方法隻能放在抽象類中,想要使用,必須在子類中進行重寫(構造方法将不能被abstract修飾)static方法,不能被abstract修飾
類:抽象類不能被執行個體化,但是抽象類中含有構造方法,抽象類中可以有抽象方法和非抽象方法