2010年3月10日Java

2010年3月10日Java

最终类、抽象类、接口

最终类,不能被继承

final class A

{

}

引入final类的概念是出于安全性的原因或者是面向对象设计上的考虑,有时候希望一些类不能被继承,如String类

有些方法不能被重写,final方法

final 返回类型 方法名()

{

}

 

抽象类和抽象方法

abstract类和abstract方法

抽象类不能使用new创建对象,必须产生子类,由子类创建对象。

一个abstract类只关心它的子类是否具有某种功能,并不关心功能的具体行为,功能的具体行为由子类负责实现,也就是说,只定义

一个被它所有的子类共享的调用形式,由每个子类自己填写细节。

同样 抽象方法只允许被声明,不允许被实现。

 

1,抽象类不能被实例化,不能使用new运算符创建对象。

2,如果一个类是abstract类的子类,它必须具体实现父类的abstract方法。

3,abstract类中可能包含abstract方法,对abstract方法只需声明,不需要实现,

4,abstract类中不一定包含abstract方法,但是,一旦某个类中包含了abstract方法,则这个类必须声明为abstract类

 

接口

为了克服单继承的缺点,Java使用接口,一个类可以实现多个接口,继承分两种,继承父类和实现接口,

interface name

{

      final int max = 100;

      void speek(String s);

      float add(float x,float y);

 

}

 

/

class Dog extends Animal implements Eatable,Sleepable

 

1,如果一个类使用了某个接口,它必须实现该接口的所有方法,并且方法名字、返回类型、参数个数及类型必须与接口定义的完全一致

2,接口中方法默认为 public的,所以累在实现接口方法时,一定用public来修饰

3,接口方法的返回类型如果是void在类中实现该接口方法时,方法体除了一对大括号外可以没有任何语句。否则至少有个return

 

 

如果一个类声明实现一个接口,但没有实现接口中的所有方法,那么这个类必须是abstract类

接口的多态

 

 

 我们可以吧实现某一个接口的类所创建的对象的引用,赋值给该接口声明的接口变量,如tm = new NBA(); tm = new CBA();

其中tm是接口变量,该接口变量tm就可以调用被类实现的接口中的方法,如tm.message()当接口变量tm调用被类实现的接口

中的方法时,就通知相应的对象调用自己实现的接口的方法,因此也就实现了接口的多态。

 

很累 前几天落下的,总算总结完了。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值