抽象类和接口及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(){}

}

 

抽象类和接口的不同:

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

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

相关文章推荐

JAVA面向对象5:final关键字、抽象类和接口

final关键字1、final关键字修饰类Java中的类被final关键字修饰后,该类将不可以被继承,也就是不能够派生子类。 案例1://使用final关键字修饰Animal类 final clas...

黑马程序员——面向对象(final关键字、抽象类、模版方法、接口)

面向对象(final关键字、抽象类、模版方法、接口)

Java关键字final、static 抽象类 接口使用总结

一、final  根据程序上下文环境, Java 关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 ...

final关键字、多态、抽象类、接口的特点及其使用

1:final关键字 (1)是最终的意思,可以修饰类,方法,变量。 (2)特点: A:它修饰的类,不能被继承。 B:它修饰的方法,不能被重写。 ...

黑马程序员_Java基础_面向对象(继承、子父类变量和函数以及构造函数特点、final关键字、抽象类、模版方法模式、接口)

------- android培训、java培训、期待与您交流! ---------- 一、面向对象(继承) 继承: 1.提高了代码的复用性。 2.让类与类之间产生了关系。有了这个关系,才有了多态...

Java基础——继承+子父类相关特点+Final关键字+抽象类+模板方法设计模式+接口

一、      面向对象(继承) 概述: Java继承是面向对象的最显著的一个特征。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,就无需再定义这些属性和行为,并能扩展新的能力...

JAVA基础day07 继承 final关键字 抽象类 接口 的学习

继承:关键字 extends class 子类 extends 父类{}; 提高了代码的复用性 让类与类之间有了关系,有了这个关系,才有了多态的特性。 java只支持单继承。因为...

JAVA基础再回首(七)——final关键字、抽象类abstract、接口interface、权限修饰符、导包

JAVA基础再回首(七)——final关键字、抽象类abstract、接口interface、权限修饰符、导包 没有到不了的明天。 嬉皮笑脸面对人生的难。 相信自己,不然你什么都做不了...
  • m366917
  • m366917
  • 2016年08月03日 21:04
  • 1705

Java基础(面向对象三——继承、final关键字、抽象类、接口)

一、继承 继承:继承是面向对象的三大特点之一,当多个类中存在相同的属相和行为时,可以把这些共有的内容抽取到单独一个类中,那么多个类无需在定义这些属性和行为,只需要使用extends关键字继承抽取出来...
  • zzamk
  • zzamk
  • 2015年03月10日 10:19
  • 764

韩顺平php视频笔记77 抽象类vs接口 关键字final const

继承和实现接口的比较:   (1) 可以认为 实现接口是对单一继承的补充. (2) 可以在不破坏类层级关系的前提下,对某个类功能扩展. ----------------------...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:抽象类和接口及final关键字
举报原因:
原因补充:

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