J2SE基础:4.面向对象的特性一
面向对象的特性
封装 继承多态
封装:
定义:
通过对象的封装,实现了模块化和信息隐藏。
通过对类的成员施以一定的訪问权限,实现了类中成员
的信息隐藏
注意点:
对象自已该做的一些事情与方法不能交与其他类去实现。
将内部的实现隐藏化。别人不用去关心内部怎么实现。
仅仅要调用方法就能够得想结果。
继承:
继承的特性:
A:通过继承能够实现代码的复用。子类能够继承父类中的变量及方法。
前提:父类訪问修饰符的控制对继承的影响:
父类私有的属性与方法不能被子类继承。
Default:同一包中能够訪问。
B:父类包含全部直接或间接被继承的类。
Animal
|
|
∨
Dog
|
|
∨
Dog_WangCai
C:子类不但继承父类的属性和方法,也能够拥有自已新增的属性与方
法。
D:Java中不支持多继承。(在Java中能够使用接口来模拟多继承的
方式)。
多继承带来的问题:假设使用多继承,父类中都拥有同样的方法
时,虚拟机无法推断是调用哪一个父类的方法。
使用继承所带来的问题:
1:变量的隐藏
当一个类继承还有一个类时,将继承父类的对象属性与类属性。
当子类中新增属性时,假设子类新增的属性与父类的属性名称
一致时,(类中不可能出现同样名称的属性)。父类的属性将
被自己主动隐藏。
2:方法的重写
当子类继承父类时,拥有父类的方法。
调用时,肯定是调用父类的方法。假设子类不惬意父类的实现
能够重写父类的方法。
重写的原则:
1:返回值,方法名称,方法的參数必需要跟父类一致。
2:子类重写的方法不能比父类拥有更严格的訪问权限。(>=父类的
訪问权限)
3:子类重写的方法不能抛出比父类很多其它的异常。
3:superkeyword
super能够用于调用父类的属性与方法和构造方法。
super():调父类的构造方法。这段代码必须写在子类构造方法的
第一行。
假设父类的构造方法有參数。
super(參数值):
super.XXX:调用父类的属性。
super.XXX():调用父类的方法。
J2SE基础:4.面向对象的特性一的更多相关文章
- J2SE基础:5.面向对象的特性2
Final的使用 final在类之前 表示该类是终于类.表示该类不能再被继承. final在方法之前 表示该方法是终于方法,该方法不能被不论什么派生的子类覆盖. final在变量之前 表示变量的值在初 ...
- [.net 面向对象编程基础] (11) 面向对象三大特性——封装
[.net 面向对象编程基础] (11) 面向对象三大特性——封装 我们的课题是面向对象编程,前面主要介绍了面向对象的基础知识,而从这里开始才是面向对象的核心部分,即 面向对象的三大特性:封装.继承. ...
- [.net 面向对象编程基础] (12) 面向对象三大特性——继承
[.net 面向对象编程基础] (12) 面向对象三大特性——继承 上节我们说了面向对象的三大特性之一的封装,解决了将对同一对象所能操作的所有信息放在一起,实现统一对外调用,实现了同一对象的复用,降低 ...
- [.net 面向对象编程基础] (13) 面向对象三大特性——多态
[.net 面向对象编程基础] (13) 面向对象三大特性——多态 前面两节,我们了解了面向对象的的封装和继承特性,面向对象还有一大特性就是多态.比起前面的封装和继承,多态这个概念不是那么好理解.我们 ...
- python基础(25):面向对象三大特性二(多态、封装)
1. 多态 1.1 什么是多态 多态指的是一类事物有多种形态. 动物有多种形态:人,狗,猪. import abc class Animal(metaclass=abc.ABCMeta): #同一类事 ...
- python基础(24):面向对象三大特性一(继承)
1. 继承 1.1 什么是继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类. python中类的继承分为:单继承和多继 ...
- JAVA基础——面向对象三大特性:封装、继承、多态
JAVA面向对象三大特性详解 一.封装 1.概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.好处: 只能通过规定的方法访问数据. ...
- Java基础-面向对象第一特性之封装(Encapsulation)
Java基础-面向对象第一特性之封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.理解什么是面向过程和面向对象 面向过程与面向对象都是我们编程中 ...
- 夯实Java基础系列1:Java面向对象三大特性(基础篇)
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 [https://github.com/h2pl/Java-Tutorial](https: ...
随机推荐
- XenCenter注册码一年申请
http://deliver.citrix.com/go/citrix/xenserver_activation?transactionID=2f65d2f134bf485d871291a566d67 ...
- QT5静态编译教程,主要针对vs2012(渡世白玉)
QT5,VS2012静态编译,所有的库准备充分的话qwebkit也可以静态编译通过,但是我编译的版本使用中如果用了QWEBVIEW控件在连接时会出错. 注:我自己编译的环境是:win server 2 ...
- Java线程并发中常见的锁--自旋锁 偏向锁
随着互联网的蓬勃发展,越来越多的互联网企业面临着用户量膨胀而带来的并发安全问题.本文着重介绍了在java并发中常见的几种锁机制. 1.偏向锁 偏向锁是JDK1.6提出来的一种锁优化的机制.其核心的思想 ...
- 关于IOCP,某些地方就是不让人彻底舒服(WSASend重叠post数据)
开门见山,直接就事论事. 假如有这么一个基于IOCP模型的Server,这个Server提供的所有服务中有这么一种服务……文件下载,我们再假设Server端存有一个20G的文件,客户端这时发送一个请求 ...
- mxGraph改变图形大小重置overlay位置
要在改变图形大小的时候改变overlay的位置.那肯定就要对重置图形大小的方法进行改造了.以下是源文件里的代码 mxGraph.prototype.resizeCells = function(cel ...
- 使用XML的五种场合,XML基本规则,XML的术语,结构与语法
在很多研讨会和培训班上我遇到过许多人,他们还不明白为什么要使用XML也不知道如何 在他们的应用中使用XML.一些来自诸如Gartner公司的报告建议说,商业公司不能再做 局外人了,不能对XML置之不理 ...
- gtk+blade+anjuta 的简单实例
gtk+blade+anjuta 的简单实例我的系统 ubuntu 12.04 1> 选择源 不正确会有很多问题,速度慢,找不到安装的软件.163的源就不错 http://mirrors. ...
- Java核心技术-高级特性(2)- SoftReference, WeakReference and PhantomReference
Java.lang.ref 是 Java 类库中比较特殊的一个包,它提供了与 Java 垃圾回收器密切相关的引用类.这些引用类对象可以指向其它对象,但它们不同于一般的引用,因为它们的存在并不防碍 Ja ...
- Mac OS提示# 14:自己定义文件图标
本教程的其余部分再一次错过了方法,和一些使用提示,做一些额外的,我们希望对大家有帮助. 自己定义图标 对于Mac OSX用户来说,Dashboard,Dock栏,壁纸以及各种键盘触摸板的快 ...
- pwd的实现
#include <string.h> #include <stdlib.h> #include <dirent.h> #include <sys/types ...