java系列--抽象类和接口
问题:什么是接口,作用是什么
问题:什么是抽象类,作用是什么
一、抽象类
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系列--抽象类和接口的更多相关文章
- JAVA:抽象类VS接口
JAVA中抽象类和接口的区别比较,以及它们各自的用途. 1.JAVA抽象类: 抽象类除了不能实例化以外,跟普通类没有任何区别.在<JAVA编程思想>一书中,将抽象类定义为“包含抽象方法的类 ...
- 转:二十一、详细解析Java中抽象类和接口的区别
转:二十一.详细解析Java中抽象类和接口的区别 http://blog.csdn.net/liujun13579/article/details/7737670 在Java语言中, abstract ...
- 关于JAVA中抽象类和接口的区别辨析
今天主要整理一下新学习的有关于Java中抽象类和接口的相关知识和个人理解. 1 抽象类 用来描述事物的一般状态和行为,然后在其子类中去实现这些状态和行为.也就是说,抽象类中的方法,需要在子类中进行重写 ...
- Java:抽象类和接口小记
Java:抽象类和接口小记 对 Java 中的 抽象类和接口,做一个微不足道的小小小小记 抽象类:使用 abstract 修饰,子类用 extends 继承: 接口:使用 interface 修饰,采 ...
- 转载:详细解析Java中抽象类和接口的区别
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和int ...
- Java中抽象类和接口的区别
转载自:http://dev.yesky.com/436/7581936.shtml 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种 ...
- 详细解析Java中抽象类和接口的区别
在Java语言中, abstract class 和interface 是支持抽象类定 义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和in ...
- 深入理解java的抽象类和接口(转载)
原文链接:http://www.cnblogs.com/dolphin0520/p/3811437.html 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的 ...
- java学习--抽象类与接口
一.抽象 在使用抽象类时需要注意几点: 1.抽象类不能被实例化,实例化的工作应该交由它的子类来完成,它只需要有一个引用即可. 2.抽象方法必须由子类来进行重写. 3.只要包含一个抽象方法的抽象类,该方 ...
随机推荐
- 优化のzen cart调用WordPress
zen cart调用wordpress博客系统文章的方法 zencart根目录下新建blog 解压wp进去然后 wp-admin 安装 数据库共用 之前将wordpress和zencart整合起来 是 ...
- java下发电子邮件demo
在实际项目中会遇到需要使用邮件注册,或者是使用邮件找回密码等操作,需要使用到邮件发送功能. 其实邮件的发送主要是依赖于邮件协议,只要能实现邮件协议,那么发送邮件其实还是很容易的.这一步java类库已经 ...
- Ubuntu root 密码设置及远程登录
1. 修改 root 密码 sudo passwd root 2. 以其他账户登录,通过 sudo nano 修改 /etc/ssh/sshd_config : xxx@ubuntu14:~$ su ...
- ntfs mount fail after upgrade win10
http://www.cnblogs.com/wangbo2008/p/3782730.html linux下挂载NTFS分区错误修复 今天在linux下打开win的NTFS硬盘总是提示出错了,而 ...
- Redis hash 类型及操作
原文:http://blog.sina.com.cn/s/blog_5f044a4d0102v01k.html Redis hash是一个string类型的field和value的映射表.它的添加.删 ...
- VMware克隆CentOS虚拟机后固定IP的问题
由于克隆虚拟机,VMware只是修改了虚拟机的名字等信息,并没有修改虚拟硬盘中的任何信息,导致克隆后网卡的MAC地址和操作系统中记录的mac地址不符,导致eth0启动不起来.操作系统记录了一个新网卡的 ...
- shell与if相关参数
[ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真. [ ...
- 线段树扫描线 HDU 1542
n个矩形 问他们覆盖的面积重复的就算一次 x数组存线段 然后根据横坐标排一下 z 线段树 l - r 就是1 ~ 2*n #include<stdio.h> #include< ...
- 基于Verilog HDL的ADC0809CCN数据采样
本实验是用ADC0809CCN进行数据采样,并用7段数码管进行显示. ADC0809由一个8路模拟开关.一个地址锁存与译码器.一个A/D转换器和一个三态输出锁存器组成.多路开关可选通8个模拟通道,允许 ...
- springmvc配置首页的方式
<mvc:view-controller path="/" view-name="redirect:/user/loginUI" />