java抽象、接口 和final
抽象
一、抽象类:不知道是具体什么东西的类。 abstract class 类名
1.抽象类不能直接new出来。

2.抽象类可以没有抽象方法。
public abstract class USB { //抽象类
//两个抽象方法,抽象类中也可以不写抽象方法
public abstract void qidong();
public abstract void tingzhi();//抽象方法不用写{}
}
3.抽象类中,可以有抽象方法,也可以有非抽象方法。抽象类中还可以有成员变量。
4.派生类中,可以不实现某些抽象方法,但派生类必须要声明为抽象类。
public abstract class Shubiao extends USB{
public void qidong(){
System.out.println("鼠标运行");
}
//父类的tingzhi()的方法没重写 ,子类也要改成abstract抽象的。
}
二、抽象方法:不知道具体是干什么事情的方法。abstract 返回类型 函数名(形参);
1.抽象方法没有函数体。
2.有抽象方法的类必须是抽象类。
遇到抽象类,两种用法:
1.找找有没有它的派生类,用它的派生类。
2.自己写一个类,派生自这个抽象类。
package com.itnba.may.Demo1229;
public abstract class USB { //抽象类
//两个抽象方法
public abstract void qidong();
public abstract void tingzhi();
}
接口
可以理解为一种特殊的抽象类。里面只有常量和抽象方法(不需要写abstract)。
接口可以多实现(继承),抽象类只能是单位继承。
定义:
interface 接口名 [extends 父接口列表]{
final 类型 常量名=值;
public void 方法名(形参);
}
public interface USB { //定义一个接口
public void qidong();
public void tingzhi();
}
接口的实现:
[abstract] class 类名 extends 父类 implements 接口名,接口名,....{
}
public class Shubiao implements USB{
@Override
public void qidong(){
System.out.println("鼠标运行");
}
@Override
public void tingzhi() {
System.out.println("鼠标拔出了");
}
//如果有接口的方法没重写 ,类要改成abstract抽象的。
}
接口定义的时候:
1.接口尽量的小,功能太复杂的。——接口分离原则。
2.接口定义的时候,接口名子,尽量是形容词,或者是描述性质的词。
final 的几种修饰用法
final可以修饰成员变量,成员方法,类。
1.final修饰类:此类不能被继承。
2.final修饰成员变量:可以当常量来用。
3.final修饰方法:不能被子类的方法覆盖(重写),但可以被继承。
java抽象、接口 和final的更多相关文章
- Java抽象接口技巧(一)
原文链接 http://blog.csdn.net/qq_35101189/article/details/70799155 在程序设计过程中,读者很可能遇到这样一种困境:设计了一个接口,但实现这个接 ...
- Java抽象与接口的区别
Java抽象与接口的区别 答案方式一.简单来说,1.接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的, 2.另外,实现接口的一定要实现接口里定义的所有 ...
- 【转载】JAVA中综合接口和抽象类实现的一种“抽象接口”
Muscleape个人总结:(这里的抽象接口是指:使用一个抽象类实现一个接口,是两部分结构) 使用一个抽象类直接实现接口,将接口中的方法区分为实现类必须要实现的和选择性实现的,其他需要实现接口的类型通 ...
- 为什么java的接口的方法是public abstract修饰?为什么属性是public static final 修饰?
为什么java的接口的方法是public abstract修饰? 1.首先要明白接口的定义和作用是什么: 接口定义:接口是一个全部由抽象方法组成的集合,里面都是抽象方法和常量,用interface修 ...
- Java自学-接口与继承 final
Java的修饰符final final修饰类,方法,基本类型变量,引用的时候分别有不同的意思. 示例 1 : final修饰类 当Hero被修饰成final的时候,表示Hero不能够被继承 其子类会出 ...
- 深入理解Java的接口和抽象类(转)
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...
- 深入理解Java的接口和抽象类
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...
- [转载]深入理解JAVA的接口和抽象类
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...
- 深入理解Java的接口和抽象类 _摘抄
http://www.cnblogs.com/dolphin0520/p/3811437.html 原文 深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可 ...
- java设计模式——接口模式
java将接口的概念提升为独立的结构,体现了接口与实现分离.java接口允许多个类提供相同的功能,也允许一个同时实现多个接口.java的接口与抽象类十分相似.java与抽象类中的区别: 1.一个类可以 ...
随机推荐
- psoc学习
第一是:项目的路径需要放在Documents and Settings\,也就是默认的文件夹的地方,不然会报错错误范例为:Question:CY8CKIT-023 kit example projec ...
- IIS启动失败,启动Windows Process Activation Service时,出现错误13:数据无效 ;HTTP 错误 401.2 - Unauthorized 由于身份验证头无效,您无权查看此页
因为修改过管理员账号的密码后重启服务器导致IIS无法启动,出现已下异常 1.解决:"启动Windows Process Activation Service时,出现错误13:数据无效&quo ...
- MyBatis1:MyBatis入门
MyBatis是什么 MyBatis是什么,MyBatis的jar包中有它的官方文档,文档是这么描述MyBatis的: MyBatis is a first class persistence fra ...
- wx.onMenuShareTimeline使用注意事项
我在开发测试过程中,发现使用wx.onMenuShareTimeline无效果,没有显示我定义的图片.title和链接,经过调试发现原因如下: 1.图片大小要大于300pix才能显示 2.这个方法必须 ...
- MailKit---获取邮件
MailKit是一个免费开源的邮箱类库,简单来说MailKit帮我们封装了有关邮箱的一些帮助类,提供方法让我们更容易使用邮箱的Smtp,Imap等邮箱协议. 现在的邮箱基本上都使用smtp协议从邮件服 ...
- Atitit 图像处理的摩西五经attilax总结
Atitit 图像处理的摩西五经attilax总结 1. 数字图像处理(第三版)1 2. 图像处理基础(第2版)(世界著名计算机教材精选)1 3. 计算机视觉特征提取与图像处理(第三版)2 4. Op ...
- Bulk Insert:将文本数据(csv和txt)导入到数据库中
将文本数据导入到数据库中的方法有很多,将文本格式(csv和txt)导入到SQL Server中,bulk insert是最简单的实现方法 1,bulk insert命令,经过简化如下 BULK INS ...
- 锋利的jQuery--jQuery与DOM对象的互相转换,DOM的三种操作(读书笔记一)
1.jQuery对象就是通过jQuery包装DOM对象后产生的对象. 2.jQuery对象和DOM对象的相互转换. 良好的书写风格: var $input=$("input" ...
- 在Windows上安装Elasticsearch 5.0
在windows上安装Elasticsearch Elasticsearch可以使用.zip软件包安装在Windows上. elasticsearch-service.bat命令,它将设置Elasti ...
- 《ES6基础教程》之 map、forEach、filter indexOf 用法
1,map,对数组的每个元素进行一定操作,返回一个新的数组. var oldArr = [{first_name:"Colin",last_name:"Toh" ...