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 ...;

 

   
   
   
posted @ 2020-11-19 00:59  懒虫哥哥  阅读(218)  评论(0编辑  收藏  举报