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.一个类可以 ...
随机推荐
- 数据的双向绑定 Angular JS
接触AngularJS许了,时常问自己一些问题,如果是我实现它,会在哪些方面选择跟它相同的道路,哪些方面不同.为此,记录了一些思考,给自己回顾,也供他人参考. 初步大致有以下几个方面: 数据双向绑定 ...
- .NET面试题集锦①(Part一)
一.前言部分 文中的问题及答案多收集整理自网络,不保证100%准确,还望斟酌采纳. 1.面向对象的思想主要包括什么? 答:任何事物都可以理解为对象,其主要特征: 继承.封装.多态.特点:代码好维护,安 ...
- liunx 磁盘管理命令记录
Linux磁盘管理好坏管理直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分 ...
- [转]ThinkPHP中实例化对象M()和D()的区别,select和find的区别
1.ThinkPHP中实例化对象M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会 ...
- 在Ubuntu中搭建.NET开发环境
Mono简介Mono是Xamarin公司C#和CLR的ECMA标准基于开发的一个开源的.NET实现版本,它是Linux平台上开发.NET应用程序首选.同时其也提供了Xamarin.IOS和Xamari ...
- 解决CSharpGL使用CGCompiler时发现的几个问题
解决CSharpGL使用CGCompiler时发现的几个问题 为了获取CSharpShadingLanguage的token流,我设计了这样一个文法: <Expression> ::= & ...
- SQLServer 数据库镜像+复制方案
目标: 主机做了Mirror和Replication,当主机出现问题时,Replication和Mirror实现自动的故障转移(Mirror 和Replication都切换到备机,而当主机 重新启动后 ...
- 【Win 10应用开发】AdaptiveTrigger在自定义控件中是可以触发的
前些天,看到有网友给我留言,说AdaptiveTrigger在自定义控件(模板化控件)中不能触发.因为当时我正在写其他的代码,就没有去做实验来验证,于是我就给这位网友提了使用GotoVisualSta ...
- PostCSS深入学习: PostCSS和Sass、Stylus或LESS一起使用
如果你喜欢使用PostCSS,但又不想抛弃你最喜欢的预处理器.不用担心,你不需要作出二选一的选择,你可以把PostCSS和预处理器(Sass.Stylus或LESS)结合起来使用. 有几个PostCS ...
- 使用AWS亚马逊云搭建Gmail转发服务(一)
title: 使用AWS亚马逊云搭建Gmail转发服务(一) author:青南 date: 2014-12-30 15:41:35 categories: Python tags: [Gmail,A ...