抽象

一、抽象类:不知道是具体什么东西的类。 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的更多相关文章

  1. Java抽象接口技巧(一)

    原文链接 http://blog.csdn.net/qq_35101189/article/details/70799155 在程序设计过程中,读者很可能遇到这样一种困境:设计了一个接口,但实现这个接 ...

  2. Java抽象与接口的区别

    Java抽象与接口的区别 答案方式一.简单来说,1.接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的, 2.另外,实现接口的一定要实现接口里定义的所有 ...

  3. 【转载】JAVA中综合接口和抽象类实现的一种“抽象接口”

    Muscleape个人总结:(这里的抽象接口是指:使用一个抽象类实现一个接口,是两部分结构) 使用一个抽象类直接实现接口,将接口中的方法区分为实现类必须要实现的和选择性实现的,其他需要实现接口的类型通 ...

  4. 为什么java的接口的方法是public abstract修饰?为什么属性是public static final 修饰?

     为什么java的接口的方法是public abstract修饰? 1.首先要明白接口的定义和作用是什么: 接口定义:接口是一个全部由抽象方法组成的集合,里面都是抽象方法和常量,用interface修 ...

  5. Java自学-接口与继承 final

    Java的修饰符final final修饰类,方法,基本类型变量,引用的时候分别有不同的意思. 示例 1 : final修饰类 当Hero被修饰成final的时候,表示Hero不能够被继承 其子类会出 ...

  6. 深入理解Java的接口和抽象类(转)

    深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...

  7. 深入理解Java的接口和抽象类

    深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...

  8. [转载]深入理解JAVA的接口和抽象类

    深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...

  9. 深入理解Java的接口和抽象类 _摘抄

    http://www.cnblogs.com/dolphin0520/p/3811437.html 原文 深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可 ...

  10. java设计模式——接口模式

    java将接口的概念提升为独立的结构,体现了接口与实现分离.java接口允许多个类提供相同的功能,也允许一个同时实现多个接口.java的接口与抽象类十分相似.java与抽象类中的区别: 1.一个类可以 ...

随机推荐

  1. 重新认识了下Entity Framework

    什么是Entity Framework Entity Framework是一个对象关系映射O/RM框架. Entity Framework让开发者可以像操作领域对象(domain-specific o ...

  2. 基于fis3的组件可视化道路

    首先说明一下,即使不熟悉fis3,阅读文本应该也会有所收获. 本文以fis-parser-imweb-tplv2插件为模板插件,目的不在于使用哪个模板,而是组件可视化的实现思路,不必担心. 先说说模板 ...

  3. 关于CSS inline-block、BFC以及外边距合并的几个小问题

    CSS inline-block和BCF对于初学者来说,总是弄不太明白,下面记录下我在学习这块知识的过程中遇到的几个问题,供大家参考,有不足的地方,欢迎大家批评指正. 一.在什么场景下会出现外边距合并 ...

  4. [Android]使用Dagger 2来构建UserScope(翻译)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/6237731.html 使用Dagger 2来构建UserSco ...

  5. 和我一起看API(一)你所不知道的LinearLayout补充

    楼主英语水平差,翻译的不好的话请多多指正,嘿嘿... A Layout that arranges its children in a single column or a single row. T ...

  6. 为什么你SQL Server的数据库文件的Date modified没有变化呢?

    在SQL Server数据库中,数据文件与事务日志文件的修改日期(Date Modified)是会变化的,但是有时候你会发现你的数据文件或日志文件的修改日期(Date Modified)几个月甚至是半 ...

  7. [BOT]自己动手实现android 饼状图,PieGraphView,附源码解析

    本文要介绍的是一个参照手机支付宝app里面记账本功能里的"饼状图"实现的控件.通常app中可能的数据展示控件有柱状图,折线图,饼状图等,如果需要一个包含多种View控件的库,那么 ...

  8. MapReduce剖析笔记之三:Job的Map/Reduce Task初始化

    上一节分析了Job由JobClient提交到JobTracker的流程,利用RPC机制,JobTracker接收到Job ID和Job所在HDFS的目录,够早了JobInProgress对象,丢入队列 ...

  9. (转)C++语言的15个晦涩特性

    原文链接: Evan Wallace   翻译: 伯乐在线- 敏敏 译文链接: http://blog.jobbole.com/54140/ 这个列表收集了 C++ 语言的一些晦涩(Obscure)特 ...

  10. Python3 登陆网页并保持cookie

    网页登陆 网页登陆的原理都是,保持一个sessionid在cookie然后,根据sessionid在服务端找到cookie进行用户识别 python实现 由于python的简单以及丰富的类库是开发网络 ...