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.只要包含一个抽象方法的抽象类,该方 ...
随机推荐
- 【转载】最全的面试题目整理(HTML+CSS部分)
转载自 知乎 @西点王子 https://www.zhihu.com/people/F211/answers 1. 常用那几种浏览器测试?有哪些内核(Layout Engine)? (Q1) 浏览器: ...
- HTML元素分类:块级元素 内联元素和内联块状元素
在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 1,块状元素 常用的块状元素有: <div>.<p>.<h1 ...
- java邮件收发
http://blog.csdn.net/ycg01/article/details/1394465 java邮件收发 标签: javaimportexceptionnulluserclass 200 ...
- chromium blog
http://blog.chromium.org/
- Servlet程序开发-- Servlet生命周期
生命周期是一个程序的存在周期,受容器管理,所以容器决定生命周期. 生命周期包括 加载,初始化,服务,销毁,卸载 5个部分 加载:第一次使用的时候加载 初始化:init方法, 失败的话,直接卸载,如果成 ...
- stock 当天盘势
看盘 (一)怎样看大盘当天的指数收阴.收阳 投资者每天都看大盘,但多数人看不准大盘.大盘到底当天是收阴,还是收阳?我通过很长时间的记录.验证,发现大盘在正常时间内,收阴.收阳是有规律的.我判断的准确率 ...
- hbase port
From "Jonathan Hsieh (JIRA)" <j...@apache.org> Subject [jira] [Updated] (HBASE-10123 ...
- android脚步---设置layout隐藏属性
设置layout的属性,应用到android view的setVisibility 有三个值 visibility VISIBLE, INVISIBLE, GONE. 可见的 不可见的 ...
- 标签(改变样式style)
id可以换为class,class对应的名字可以多个一样 <div class="box">box1</div> <div class="b ...
- HDU 1434 幸福列车(优先队列)
优先队列的应用 #include<iostream> #include<cstdio> #include<cstring> #include<queue> ...