抽象类和接口及final关键字

原创 2016年06月02日 11:27:29

final关键字:

1.final可以修饰类、成员(属性和行为),局部变量

2.final修饰的类不可以被继承

3.final修饰的方法不可以被复写

4.final修饰的变量是一个常量,只能赋值一次

5.内部类在局部时,只能访问被final修饰的局部变量

 

抽象类:

将方法声明向上抽取,该方法没有主体,需要被abstract关键字修饰。

抽象方法一定要存在抽象类中。

特点:

1.抽象类不可以用new关键字实例化。

2.抽象类需要被子类复写所有的抽象方法后,该子类才可以被实例化,否则该子类还是抽象类。

注意:

1.抽象类中有构造函数,用于给子类进行初始化的。

2.抽象类中可以没有抽象方法,那么该类存在的目的就是不让其实例化。

3.抽象类和一般类的定义描述是一样的;不一样的是抽象类中可以存放抽象方法;还有不可以被实例化。

 

示例:

abstract class Demo{

void show1(){}

abstract void show2();

}

 

abstract关键字 不能和哪些关键字共存:

1.final

2.static

3.private

 

接口:

特点:

1.接口用于功能的扩展。

2.接口其实就是对外暴露的规则。

3.接口的出现降低了耦合性。

好处:

1.接口的出现,保留了多继承机制,用多实现来表示。

2.接口可以继承多个接口。

3.一个类在继承一个类的同时,可以实现多个接口。

代码规则:

使用interface关键字定义。编译后生成的.class文件。

接口中通常的成员:常量、抽象方法。

这些成员都有固定的修饰符。

常量:public static final.

方法:public abstract .

注意:

1.复写接口中的方法是,一定要用public修饰。

2.一个类必须实现接口中所有的方法后,才可以被实例化,否则该类还是一个抽象类。

 

接口定义示例:

interface AbsDemo{

public static final int X=3;

public abstract void show1();

public abstract void show2();

}

 

类实现接口示例:

class SubDemo implements AbsDemo{

public void show1(){}

public void show2(){}

}

 

抽象类和接口的不同:

抽象类可以定义体系,接口用于扩展。

版权声明:本文为博主原创文章,未经博主允许不得转载。

final关键字、抽象类和接口

final关键字:     1.final成员变量(类变量和 实例变量)必须由程序员显式初始化     2.final修饰的变量,如果指定了初始值,则不能被改变     3.final修饰的方法...
  • LiChuanxiu
  • LiChuanxiu
  • 2017年09月23日 14:32
  • 82

<Java>接口与抽象类,区别以及使用场景

顺便做个记录 接口和抽象类应该是Java语法中最常见的两个概念 关于两者,网上也是一搜一吨的对比,总体如下: 1,抽象类的成员可以具有访问级别 接口的成员全部public级别 2,抽象类可以包含...
  • jjjjjj123321
  • jjjjjj123321
  • 2017年01月06日 11:42
  • 1811

面向对象中接口和抽象类的区别

从表象上来说: 1、抽象类可以给出一些成员的实现,接口却不包含成员的实现; 2、抽象类的抽象成员可被子类部分实现,接口的成员需要实现类完全实现; 3、一个类只能继承一个抽象类,但可以实现多...
  • u010784236
  • u010784236
  • 2015年01月23日 17:53
  • 1660

Java抽象类与接口学习心得

Java抽象类的“三必须” 与 “五不能” ,抽象类与接口联系玉区别;
  • zhangliangzi
  • zhangliangzi
  • 2015年11月23日 17:17
  • 1125

抽象类和接口的相同点和不同点,学习笔记

抽象类和接口的相同点: 1.都不能被实例化 2.接口的实现类或抽象类的子类都只有实现了接口或抽象类中的方法后才能被实例化 不同点: 1.接口只有定义,其方法不能再接口中实现,只有实现接口的类才能实...
  • hdg745979749
  • hdg745979749
  • 2017年05月19日 21:15
  • 1021

抽象类与接口(对比总结)

1、先记着这一点,帮助你理解哦。 答:抽象类最最重要的就是比普通的类多了个抽象方法,另外还有……我觉得这得慢慢再去悟……。 2、接口有的,抽象类都有,但是抽象类有的,接口就不一定有了。 ...
  • cadi2011
  • cadi2011
  • 2016年02月14日 22:46
  • 798

抽象类及接口在设计时考虑的如何选择问题

关于抽象类和接口的相关视频里有,这就不说了,老房问了一个特别无语的问题,用我的话说就是钻牛角尖,但是这也涉及到了设计层面的犯愁,所以我还是找找了资料看看了,下边简单的给大家说说吧。 老房的问题是,如...
  • dreamsky1989
  • dreamsky1989
  • 2012年03月25日 04:43
  • 1110

接口和抽象类的区别---相信你看完不会再混淆了

一、引言 我想,对于各位使用面向对象编程语言的程序员来说,“接口”这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一...
  • wenwen091100304
  • wenwen091100304
  • 2015年09月12日 11:09
  • 22908

Java 抽象类、普通类、接口的区别——值得你一看的干货

【概念】 抽象类、具体类是相对的,并非绝对的。抽象是一种概念性名词,具体是一种可见可触摸的现实对象。概念越小,则其抽象程度就越大,其外延也越大,反之亦然。简单说,比如“人”比“男人”抽象...
  • csdn_aiyang
  • csdn_aiyang
  • 2017年05月04日 16:26
  • 3106

接口和抽象类的联系和区别

一 接口和抽象类的相似性 1 接口和抽象类都不能被实例化,它们都位于继承树的顶端,用于被其他类实现和继承。 2 接口和抽象类都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象方法...
  • chengqiuming
  • chengqiuming
  • 2017年04月12日 09:57
  • 3363
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:抽象类和接口及final关键字
举报原因:
原因补充:

(最多只允许输入30个字)