Java interface和package

創建: 2020/11/18

完成: 2020/11/19

 

interface
概念
語法  
intfModifier interface intfName {
    // 屬性聲明
    varModifier1 type1 varName1 = value1; // varModifier可省略, 必須初始化
    varModifier2 type2 varName2 = value2;
    ...
    // 方法聲明
    mthModifier1 rtype1 mthName1(params1);
    mthModifier2 rtype2 mthName2(params2);
    ...
}
  • 不指定modifier則爲package-private, 只有同一package內可以調用
  • 屬性必須賦予常量
  • 屬性默認 public static final ,故常量。所以一般不加任何修飾符
  • 方法默認 public abstract ,所以一般也不加任何修飾符
實現interface

implements

clsModifiers class clsName extends superName implements intList {
    ...
}
  • 實現多個interface用  ,  隔開
interface類型

interface名可以做類型來用, 只能代入實現interface的實例

調用interface的屬性,

方法

 

intfRef.varNane
intfRef.mthName(args)

 

繼承

 

intfModifier interface intfName extends intfList {
    ...
}
  • 可以繼承多個, 不像類只能繼承一個
  • 不能有同名常量
  • 可以有同signature的methods, 但是返回值必須同類型(即合併相同的methods)
instanceof   
varName instanceof type
  • type爲類或者interface名
  • 返回true/false
package  
把源文件併入指定package  
package packageName;

//
package sample;
// 嵌套
package sample.a.b.c;
  • 必須在源文件開頭
  • 文件夾結構要一致
CLASSPATH .class文件的路徑
 import  
導入package
import fullyQualifiedTypeName; // 導入特定屬性,方法
import packageName.*; // 導入package內所有
  • 導入非遞歸, package內的package不被導入
  • 導入靜態方法, 屬性
    import static ...;

 

   
   
   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章