java面向对象(接口2)接口知识点
时间:2014-04-27 11:48 来源: 我爱IT技术网 作者:山风
java面向对象(接口2)(上一篇:http://www.52ij.com/jishu/5619.html)
6)接口可以被类多实现,也是对多继承不支持的转换形式。
7)类与类之间不可以多继承,为什么接口可以多实现?因为被继承的子类方法中有方法体,而接口中的方法都没有方法体。
8)类与类之间,可以有继承(extends)关系,只支持单继承。
类与接口之间,可以有实现(implements)关系。
接口与接口之间,可以有继承关系,支持多继承。
9)复写方法体,叫实现。
不复写方法体,叫继承。
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//示例1
interface Inter
{
public static final int NUM=3; //少写哪个,系统就会加哪个。建议写全,增加阅读性。
public abstract void show();
}
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//示例2
interface InterA
{
public abstract void show(); //为什么加abstract?见07-12的第3点
}
class Demo
{
public void function(){}
}
class Test extends Demo implements Inter,InterA
{
public void show(){} //见第7点。注意,必须和接口的权限一样大。
}
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//示例3
/*
interface A
{
void methodA();
}
interface B // extends A
{
void methodB();
}
interface C extends B,A //如果B没有继承A,C可以直接继承B和A。但要确保多个父类的返回类型一样。
{
void methodC();
}
class D implements C
{
//要建立类D的对象,必须复写3个方法
public void methodA(){}
public void methodB(){}
public void methodC(){}
}
*/
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class InterfaceDemo
{
public static void main(String[] args)
{
Test t=new Test();
System.out.println(t.NUM); //建立子类Test对象,引用其父类常量NUM
System.out.println(Test.NUM); //实现后,相当于子类Test里也存在属性NUM
System.out.println(Inter.NUM); //static可以直接被类名调用。见06-01
}
}
本文来源 我爱IT技术网 http://www.52ij.com/jishu/5624.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
