(1)接口
intetface是功能方法说明的集合,其声明格式为:
[public] interface接口名[extends父接口名列表]
{ //静态常量数据成员声明
[public][static][final] 类名 域名=常量值
//抽象方法声明
[public][abstract] 返回值 方法名(参数列表)[throw 异常列表]
}
根据定义,再深刻理解接口的作用,实现与使用,并通过书本上的例子加深理解。
(2)抽象类与接口比较
抽象类 | 接口 | ||
共同点 | 二者都有抽象方法,都不能实例化。都有自己的声明,并能引用具体子类或实现类对象。 | ||
不同点 | 属性 | 可以有域变量 | 不能有域变量,只能是静态常量 |
成员方法 | 可以有具体方法,而且具体方法可以调用抽象方法 | 如果有方法,全部是抽象方法 | |
实现策略 | 必须有子类继承 | 必须有实现类实现 | |
扩展性 | 弱 | 强 |
(3)引用
引用比较有三种:
1.equals方法比较
举例:
class Pare{}
class Pare1 extends Pare{}
class Pare2{
public static void main(String[] args){
Pare p=new Pare();
Pare1 p1=new Pare1();
Pare pp=p1;
if(p1.equals(pp))
{System.out.println("p1与pp引用相同");}
else
{System.out.println("p1与pp引用不相同");}
if(p.equals(pp))
{System.out.println("p与pp引用相同");}
else
{System.out.println("p与pp引用不相同");}
}
}
2.使用“==”进行比较
3.使用instanceof比较引用类型
(4)内部类与匿名内部类
内部类:在某个类的内部又定义一个类,被内部类嵌入的类称为外部类
匿名内部类:在类中需要实例化的地方,定义一个没有名称的类。
在此仅提下概念,具体定义及使用参见课本。