接口和抽象类的定义方式举例说明节能
2020-09-30 合山装修公司
接口定义
关于java的接口定义方式,以下三种情况下可以采用接口定义方式:
1.接口中声明的变量全部为final和static类型的,并且这个接口的作用在于定义一些值不能改变的变量。
举个例子:
publicinterfaceObjectConstants{
publicstaticfinalStringSPACE=newString("");
publicstaticfinalcharFORMFEED='\f';
}
2.接口中只定义可供实现的抽象方法
va
publicinterfaceEventListener{
publicvoidha最终难逃恢恢法。尊重法律ndleEvent(Eventevt);
}
va
ng;
publicinterfaceRunnable{
publicabstractvoidrun();
}
3.还有一种方式是上述两种方式的组合,但采访中在IT公司上班的辛先生告诉如非必要一般会将这样一个接口定义拆分成两个接口定义
抽象类的定义
1.如果一个类包含一个接口但是不完全实现接口定义的方法,那么该类必须定义成abstract型
例如va类的定义方式:
;
publicabstractclassInputStreamimplementsCloseable{
//SKIP_BUFFER_SIZEisusedtodeterminethesizeofskipBuffer
privatestaticfinalintSKIP_BUFFER_SIZE=2048;
//skipBufferisinitializedinskip(long),ifneeded.
privatestaticbyte[]skipBuffer;
publicabstractintread()throwsIOException;
publicintread(byteb[])throwsIOException{
returnread(b,0,ngth);
}
publicintread(byteb[],intoff,intlen)throwsIOException{
if(b==null){
thrownewNullPointerException();
}elseif((off0)||(ngth)||(len0)
((off+len)ngth)||((off+len)0)){
thrownewIndexOutOfBoundsException();
}elseif(len==0){
return0;
}
intc=read();
if(c==-1){
return-1;
}
b[off]=(byte)c;
inti=1;
try{
for(;ilen;i++){
c=read();
if(c==-1){
break;
}
if(b!=null){
b[off+i]=(byte)c;
}
}
}catch(IOExceptionee){
}
returni;
}
publiclongskip(longn)throwsIOException{
longremaining=n;
intnr;
if(skipBuffer==null)
skipBuffer=newbyte[SKIP_BUFFER_SIZE];
byte[]localSkipBuffer=skipBuffer;
if(n=0){
return0;
}
while(remaining0){
nr=read(localSkipBuffer,0,
(int)n(SKIP_BUFFER_SIZE,remaining));
if(nr0){
break;
}
remaining-=nr;
}
returnn-remaining;
}
publicintavailable()throwsIOException{
return0;
}
publicvoidclose()throwsIOException{}
publicsynchronizedvoidmark(intreadlimit){}
publicsynchronizedvoidreset()throwsIOException{
thrownewIOException("mark/resetnotsupported");
}
publicbooleanmarkSupported(){
returnfalse;
}
}
2.抽象类的方法体中只定义抽象的方法,例如va
ng;
publicclassAbstractMethodErrorextendsIncompatibleClassChangeError{
publicAbstractMethodError(){
super();}
publicAbstractMethodError(Strings){
super(s);}
} 查看本文来源
先声药业登陆港股小孩子不爱吃饭用薏芽健脾凝胶会有效果吗鹰潭看白癜风医院哪家好
-
-
海南公租房新办法解决夹心层住房难题搭配
海南公租房新办法解决夹心层住房难题海南中低收入群体、新毕业大学生、新...
- 家居风水 2020-06-06
-
海南公租房新办法解决夹心层住房难题搭配
-
-
核查拉响橙色警报冰冻房企千亿融资冲动搭配
核查拉响“橙色警报”冰冻房企千亿融资冲动去年10月起在地产圈内流传的一...
- 家居风水 2020-06-06
-
核查拉响橙色警报冰冻房企千亿融资冲动搭配
-
-
房地产企业发债融资开展普通商品房建设方案搭配
房地产企业发债融资开展普通商品房建设方案出台在资金使用途径方面,发债...
- 家居风水 2020-06-02
-
房地产企业发债融资开展普通商品房建设方案搭配
-
-
曝诺维茨基已参加数次球队合练啥时候能复出搭配
曝诺维茨基已参加数次球队合练 啥时候能复出?诺维茨基北京时间11月21日消息...
- 家居风水 2020-06-01
-
曝诺维茨基已参加数次球队合练啥时候能复出搭配
-
-
完胜却暴露一环节弱势发球榜单队内最高仅第搭配
完胜却暴露一环节弱势 发球榜单队内最高仅第位中国女排虽完胜泰国却暴露...
- 家居风水 2020-06-01
-
完胜却暴露一环节弱势发球榜单队内最高仅第搭配
-
-
开发商急发高息债外资行收紧楼市拐点真来了搭配
开发商急发高息债外资行收紧 楼市拐点真来了A股市场遭遇“黑色星期一&...
- 家居风水 2020-05-27
-
开发商急发高息债外资行收紧楼市拐点真来了搭配