十三、java继承(下)抽象、接口

1.静态是不能被继承与覆盖的。

2.抽象类:abstract
用来描述一个事物却无足够信息则称为抽象事物。

abstract class 犬科
{
  abstract /*抽象*/ void 吼叫();//后面无{}
}

3.面对抽象的事物,虽然不具体,但是可以简单化。

特点:
a.抽象方法一定定义在抽象类中,都需要abstract
b.抽象类不能实例化,不能用new创建对象
c.只有子类覆盖了所有的抽象方法,子类就可以创建对象
d.如果子类没有覆盖所有方法,就没法实例化,还是一个抽象类。

抽象类也是不断向上抽取而来,抽取了方法的申明而不确定具体的方法内容,让不同的子类来确定具体的方法内容。

4.问题:抽象类中有构造函数吗?

答:有,抽象类的构造函数虽然不能给抽象类对象实例化,因为抽象类不能创建对象,但抽象类有子类,它的构造函数可以子类来实例化。

5.抽象类和一般类的异同?

相同:都是用来描述事务,都可以进行属性和行为的描述。
不同:抽象类描述事物的信息不具体,一般类描述的事务的信息具体。
代码的不同:抽象类中可以定义抽象方法,一般类不行。抽象类不可以实例化,一般类可以。

6.抽象类一定是父类吗?
是的,必须子类覆盖方法后,才可以实例化,才可以使用。

7.抽象类可以不定义抽象方法,仅仅是让该类不能创建的对象

8.抽象类关键字abstract不能与哪些关键字共存?

final ;final方法不能被覆盖
private;
static;


9.接口:interface
抽象类中所有方法都是抽象的,可用另一种形式的接口来表示
定义接口:

interface Inter
{
   (public static final) int NUM=4;
   public  abstract  void show( );
}

接口中的成员和class定义的不同之处:
接口中常见的成员有两种: 1,全局变量 2.抽象方法
而且都有固定的修饰符,共性:成员都是public修饰的

10.接口的特点:

a.不可实例化。
b.需要覆盖接口所有抽象方法的子类才可以实例化,否则子类还是一个抽象类。
c.接口是用来被实现的。

11.类与接口之间是实现关系

class Demo implements/*实现*/ Inter
{
  public void show( ){ }//必须覆盖
}

12 .接口解决的问题?
多继承 好处:可以让子类具备更多功能。 弊端:调用的不确定性。
java中不直接支持多继承,而是改良通过接口来解决,将多继承转换成了多实现。
class SubInter implement InterA,InterB//多实现{ }

13.好处:接口的好处在于一个类继承一个类的同时,还可以实现多个接口,避免了单继承的局限性。
集成式味蕾获取体系的基本功能,想要扩展功能可以通过接口来完成。

类与类之间 -继承关系:is a;
类与接口之间 -实现关系:like a;
接口与接口之间关系:是继承关系,接口可以支持多继承。

15.问题:只需要接口的部分功能怎么办呢?

为了方便创建Inter接口中的子类对象,可以用一个类先把接口中的方法都空实现,该类创建对象没有意义,故可以使其抽象。这就是没有抽象方法的抽象类。

16.接口的思想:

(笔记本电脑的nsb接口)
a.接口的出现扩展了功能(可以一直扩展)
b.接口其实就是暴露出来的规则。
c.接口的出现降低了耦合性。接口——解耦
接口的出现:一方在使用接口,一方在实现接口。

17.抽象类与接口:
缉毒犬是犬中的一种, is a关系。
犬用于描述所有功能犬的基本功能,用class 父类,所以犬不适合定义成接口。
而具备缉毒功能的有很多,缉毒需要抽取,不能定义成类因为类不能多继承,所以得用接口,
Class 缉毒犬 extends 犬 implements 缉毒

18.总结:

类用于描述的是事物的共性基本功能。
接口用于定义的是事务的额外功能。

接口一是为了多个事物可以共用这个额外功能。
各种猪的共性用类,缉毒猪和缉毒犬的共性缉毒用接口。

19.抽象与接口如何区别?

a.类与类的继承关系是is a,类与接口是like a(缉毒猪是猪而不是缉毒)
b.类中定义的抽象和非抽象方法子类可以直接使用或者覆盖使用;接口中都是抽象方法,必须全实现才可以用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,039评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,426评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,417评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,868评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,892评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,692评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,416评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,326评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,782评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,957评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,102评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,790评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,442评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,996评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,113评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,332评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,044评论 2 355

推荐阅读更多精彩内容

  • 整理来自互联网 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具...
    Ncompass阅读 1,540评论 0 6
  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    慕容小伟阅读 1,790评论 0 10
  • 一、继承 概述继承是面向对象的重要特征之一,当多个类中存在相同的属性和行为时,将这些内容抽取到单独一个类中,那多个...
    java部落阅读 630评论 0 0
  • 一、继承 1. 概述 继承是面向对象的重要特征之一,当多个类中存在相同的属性和行为时,将这些内容抽取到单独一个类中...
    陈凯冰阅读 353评论 0 2
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,654评论 0 11