JavaOO面向对象中的注意点(三)
1.接口
a.关键字:interface
public interface Serviceable{
//TODO
}
b.属性:只能是 公共 静态 常量 属性——就算不写这三个关键字,也是默认这种情况
/* public static final */ int a = 10;
c.构造:接口不能有构造(这说明接口不能产生对象)
d.行为:只能是 公共 的 抽象 方法——就算不写修饰符,也默认这种情况
/* public abstract */ void turnUpEngine (int a);
e.意义:体现在方法上——让没有继承关系的类共享这些行为,各有各的具体实现
f.接口的实现:类实现接口,使用implements关键字,并且重写接口中的抽象方法
public class NewTank implements Serviceable{
//TODO
}
2.接口的注意点:
a.类实现接口,且是多实现:
①类在继承的同时,也可以做实现接口,而且类可以实现多个接口
②类实现接口,必须重写节后中所有的抽象方法,否则该类是一个抽象类
b.接口可以继承接口,且是多继承:
①尽量定义小接口(最小接口原则,接口隔离原则)
②如果没有实现接口,就算具有相同的方法,也不能用接口的引用去指向它的对象
3.抽象类 与 接口
抽象类 接口
a.定义语法:①abstract class 定义 interface 定义
②抽象方法必须写abstract 抽象方法可以
③可以有变量属性、构造方法 不能有变量属性,属性只能是公共静态常量,不能有构造方法
④可以有实现了的方法 JDK1.7之前不能有实现了的方法;JDK1.7之后可以有实现了的方法,但必须加default
b.使用语法:用子类继承抽象了extends(单) 用实现类实现接口implements(多);用子接口继承接口extends(多)
c.设计层面:与生俱来 附属添加的行为(尽量定义小接口)
JavaOO面向对象中的注意点(三)的更多相关文章
- JavaOO面向对象中的注意点
1.JavaOO宗旨思想: ★万物皆对象,对象因关注而产生★ ☆类是对象的抽取,对象是类的实例☆ 2.JavaOO的三大特征: 封装.继承.多态 (第四大特征 抽象 现还有争议) 3.属性与行为: ...
- JavaOO面向对象中的注意点(一)
1.JavaOO宗旨思想: ★万物皆对象,对象因关注而产生★ ☆类是对象的抽取,对象是类的实例☆ 2.JavaOO的三大特征: 封装.继承.多态 (第四大特征 抽象 现还有争议) 3.属性与行为: ...
- JavaOO面向对象中的注意点(二)
1.封装: 封装主要体现在:组装类 和 信息隐藏. a.信息隐藏:①访问修饰符:private ②方法的实现:get/set方法.run()方法-控制流程 b.组装类: ①类的定义:属性.构造.行为( ...
- PHP面向对象中的重要知识点(三)
1. namespace: 和C++中的名字空间很像,作用也一样,都是为了避免在引用较多第三方库时而带来的名字冲突问题.通过名字空间,即便两个class的名称相同,但是因为位于不同的名字空间内,他们仍 ...
- [.net 面向对象程序设计进阶] (4) 正则表达式 (三) 表达式助手
[.net 面向对象程序设计进阶] (2) 正则表达式(三) 表达式助手 上面两节对正则表达式的使用及.NET下使用正则表达式作了详细说明,本节主要搜集整理了常用的正则表达式提供参考. 此外为了使用方 ...
- 文成小盆友python-num8 面向对象中的成员,成员修饰符,特殊成员,异常处理,设计模式之单例模式
本节主要内容: 1.面向对象中的成员 2.成员修饰符 3.特殊成员 4.异常处理 5.设计模式之单例模式 一.面向对象中的成员(类的成员) 类的成员总共可以分为3大类,每类中有不同的分支. 1.总述, ...
- JavaScript面向对象中的继承
1.1继承的基本概念 使用一个子类,继承另一个父类,那么子类可以自动拥有父类中的所有属性和方法,这个过程叫做继承. >>>继承的两方,发生在两个类之间. 实现继承的三种方式: 扩展O ...
- 第35节:Java面向对象中的多线程
Java面向对象中的多线程 多线程 在Java面向对象中的多线程中,要理解多线程的知识点,首先要掌握什么是进程,什么是线程?为什么有多线程呢?多线程存在的意义有什么什么呢?线程的创建方式又有哪些?以及 ...
- 探讨 JS 的面向对象中继承的那些事
最近学了 JS 的面向对象,这篇文章主要是探讨 JS 的面向对象中继承的那些事. JS中继承的特点: 1.子类继承父类: 2.子类可以用父类的方法和属性 3.子类的改变可以不影响父类 下面用一个例子来 ...
随机推荐
- Visual Studio2015使用tinyfox2.x作为Owin Host调试教程
一.前言: tinyfox 是一款支持OWIN标准的WEB应用的高性能的HTTP服务器,是Jexus Web Server的"姊妹篇".TinyFox本身的功能是html服务器,所 ...
- temp
netstat -tlnap lsof -i :40735 ps -ef|grep 10259 iftop iptraf nethogs gidxylxhqp http://blog.csdn.net ...
- 面向对象编程(OOP)
什么是面向对象编程,对于面向对象编程与面向过程编程的解释随处可见,个人认为对面向对象编程解释最好的一个定义是:依赖倒转原则是面向对象编程的标志,面向对象编程是一种思想,无论使用哪一种编程语言,如果在编 ...
- mysql 主主复制搭建用的命令
# mysql 容器的启动docker run -d -p 3306:3306 -v /database_files/products/data:/var/lib/mysql -v /database ...
- [Machine Learning & Algorithm]CAML机器学习系列2:深入浅出ML之Entropy-Based家族
声明:本博客整理自博友@zhouyong计算广告与机器学习-技术共享平台,尊重原创,欢迎感兴趣的博友查看原文. 写在前面 记得在<Pattern Recognition And Machine ...
- OPP Services Log
SELECT FCPP.CONCURRENT_REQUEST_ID REQ_ID, FCP.NODE_NAME, FCP.LOGFILE_NAME FROM FND_CONC_PP_ACTIONS ...
- python 多环境安装
1.pyenv 安装 curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer ...
- mysql语句入门
show databases; 展示可以用的数据库: use employees; 进入数据库: show tables; 展示可用的列表. sho ...
- POJ1753(位操作和枚举)
题目:http://poj.org/problem?id=1753 题意:一块4*4的棋盘,黑白块不规律分布,翻动一个色块,其上下左右,都会被翻动,知道全黑全白为止.输出最小次数,达不到则输出“Imp ...
- C语言 完美字符串
约翰认为字符串的完美度等于它里面所有字母的完美度之和.每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数. 约翰不在乎字母大小写.(也就是说字母F和f)的完美度相同. ...