问题:什么是接口,作用是什么

问题:什么是抽象类,作用是什么

一、抽象类

1、当父类的一些方法不确定时,

2、当一个子类继承的父类是抽象类的话,需要我们把抽象类中所有的抽象方法全部实现

3、抽象方法本身没有方法体,一般在子类中实现

4、抽象类只能作为父类,不能实例化,抽象类可以有普通实现方法

5、抽象类可以没有抽象(abstact)方法,仍然不可以实例化

6、一旦包含了abstract方法,则这个类必须声明为abstract类

注意:声明抽象方法时有几个限制

1、构造方法不能声明为abstract

2、静态方法不能声明为abstract

3、private方法不能声明为abstract

4、final方法不能声明为abstract

5、抽象方法只能出现在抽象类或接口中

二、接口

1、接口不能被实例化

2、接口中所有方法(包括普通方法)都不能有主体

3、一个类可以实现多个接口

4、一个重要原则:当一个类实现一个接口,要求该类把接口的所有方法都实现

5、接口中可以有变量,但变量不能为private,protected修饰,默认为public,final,static类型

6、在java开发中,经常把常用的变量,定义在接口中,作为全局变量使用,访问形式:接口名.变量名

7、一个接口不能继承其它的类,但可以继承别的接口

三、final

1、当不希望父类的某个方法被子类覆盖时,使用final修饰

2、当一个类不希望被继承时,使用final修饰

3、如果一个变量是final型,则必须赋予初值

4、final修饰的变量又称为常量

注意:使用最终方法时,最终方法可以出现在任何类中,但不能和abstract修饰符同时使用;最终方法不能被覆盖,但是可以被重载

java系列--抽象类和接口的更多相关文章

  1. JAVA:抽象类VS接口

    JAVA中抽象类和接口的区别比较,以及它们各自的用途. 1.JAVA抽象类: 抽象类除了不能实例化以外,跟普通类没有任何区别.在<JAVA编程思想>一书中,将抽象类定义为“包含抽象方法的类 ...

  2. 转:二十一、详细解析Java中抽象类和接口的区别

    转:二十一.详细解析Java中抽象类和接口的区别 http://blog.csdn.net/liujun13579/article/details/7737670 在Java语言中, abstract ...

  3. 关于JAVA中抽象类和接口的区别辨析

    今天主要整理一下新学习的有关于Java中抽象类和接口的相关知识和个人理解. 1 抽象类 用来描述事物的一般状态和行为,然后在其子类中去实现这些状态和行为.也就是说,抽象类中的方法,需要在子类中进行重写 ...

  4. Java:抽象类和接口小记

    Java:抽象类和接口小记 对 Java 中的 抽象类和接口,做一个微不足道的小小小小记 抽象类:使用 abstract 修饰,子类用 extends 继承: 接口:使用 interface 修饰,采 ...

  5. 转载:详细解析Java中抽象类和接口的区别

    在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和int ...

  6. Java中抽象类和接口的区别

    转载自:http://dev.yesky.com/436/7581936.shtml 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种 ...

  7. 详细解析Java中抽象类和接口的区别

    在Java语言中, abstract class 和interface 是支持抽象类定 义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和in ...

  8. 深入理解java的抽象类和接口(转载)

    原文链接:http://www.cnblogs.com/dolphin0520/p/3811437.html 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的 ...

  9. java学习--抽象类与接口

    一.抽象 在使用抽象类时需要注意几点: 1.抽象类不能被实例化,实例化的工作应该交由它的子类来完成,它只需要有一个引用即可. 2.抽象方法必须由子类来进行重写. 3.只要包含一个抽象方法的抽象类,该方 ...

随机推荐

  1. 优化のzen cart调用WordPress

    zen cart调用wordpress博客系统文章的方法 zencart根目录下新建blog 解压wp进去然后 wp-admin 安装 数据库共用 之前将wordpress和zencart整合起来 是 ...

  2. java下发电子邮件demo

    在实际项目中会遇到需要使用邮件注册,或者是使用邮件找回密码等操作,需要使用到邮件发送功能. 其实邮件的发送主要是依赖于邮件协议,只要能实现邮件协议,那么发送邮件其实还是很容易的.这一步java类库已经 ...

  3. Ubuntu root 密码设置及远程登录

    1. 修改 root 密码 sudo passwd root 2. 以其他账户登录,通过 sudo nano 修改 /etc/ssh/sshd_config : xxx@ubuntu14:~$ su ...

  4. ntfs mount fail after upgrade win10

    http://www.cnblogs.com/wangbo2008/p/3782730.html linux下挂载NTFS分区错误修复   今天在linux下打开win的NTFS硬盘总是提示出错了,而 ...

  5. Redis hash 类型及操作

    原文:http://blog.sina.com.cn/s/blog_5f044a4d0102v01k.html Redis hash是一个string类型的field和value的映射表.它的添加.删 ...

  6. VMware克隆CentOS虚拟机后固定IP的问题

    由于克隆虚拟机,VMware只是修改了虚拟机的名字等信息,并没有修改虚拟硬盘中的任何信息,导致克隆后网卡的MAC地址和操作系统中记录的mac地址不符,导致eth0启动不起来.操作系统记录了一个新网卡的 ...

  7. shell与if相关参数

    [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真. [ ...

  8. 线段树扫描线 HDU 1542

    n个矩形 问他们覆盖的面积重复的就算一次 x数组存线段  然后根据横坐标排一下 z 线段树 l - r   就是1 ~ 2*n #include<stdio.h> #include< ...

  9. 基于Verilog HDL的ADC0809CCN数据采样

    本实验是用ADC0809CCN进行数据采样,并用7段数码管进行显示. ADC0809由一个8路模拟开关.一个地址锁存与译码器.一个A/D转换器和一个三态输出锁存器组成.多路开关可选通8个模拟通道,允许 ...

  10. springmvc配置首页的方式

    <mvc:view-controller path="/" view-name="redirect:/user/loginUI" />