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.一个类可以 ...
随机推荐
- js数组去重几种思路
在一些后台语言中都内置了一些方法来处理数组或集合中重复的数据.但是js中并没有类似的方法,网上已经有一些方法,但是不够详细.部分代码来源于网络.个人总计如下:大致有4种思路 1)使用两次循环比较原始的 ...
- BPM体系文件管理解决方案分享
一.方案概述 企业管理在很大程度上是通过文件化的形式表现出来,体系文件管理是管理体系存在的基础和证据,是规范企业管理活动和全体人员行为,达到管理目标的管理依据.对与公司质量.环境.职业健康安全等体系有 ...
- Android开发学习——画横线竖线
画横线/竖线 竖线 <View android:layout_width="1dp" android:layout_height="match_parent&quo ...
- 深入学习HBase架构原理
HBase定义 HBase 是一个高可靠.高性能.面向列.可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建 大规模结构化存储集群. HBase 是Google Bigtabl ...
- 在Linux配置Nginx web服务器步骤
系统环境:centos7 需要软件:nginx-1.3.16.tar.gz libevent-2.0.21-stable.tar.gz Pcre 和 pcre-devel nginx下载地址:h ...
- 支付宝web支付
过程 1. 用户下单 2. 商户后台产生订单 3. 请求支付宝web支付页面(将订单信息返回给用户---放在form里面---隐藏起来-----并通过脚本自动提交此form到支付宝web支付页) 4. ...
- 站在风口,你或许就是那年薪20w+的程序猿
最近面试了一些人,也在群上跟一些群友聊起,发现现在的互联网真是热,一些工作才两三年的期望的薪资都是十几K的起,这真是让我们这些早几年就成为程序猿的情何以堪!正所谓是站在风口上,猪也能飞起来!我在这里就 ...
- C++的性能C#的产能?! - .Net Native 系列五:.Net Native与反射
此系列系小九的学堂原创翻译,翻译自微软官方开发向导,一共分为六个主题.本文是第五个主题:.Net Native与反射. 向导文链接:<C++的性能C#的产能?! - .Net Native 系列 ...
- .NET中使用Redis
Redis是一个用的比较广泛的Key/Value的内存数据库,新浪微博.Github.StackOverflow 等大型应用中都用其作为缓存,Redis的官网为http://redis.io/. 最近 ...
- React 其实比 MVVM 架构更加卡顿
React 号称通过引入 Virtual DOM 带来了性能的提升,而其实 React 之所以需要 Virtual DOM,是因为它的架构下,state 的变更是全量的,然后触发 render 返回全 ...