java面向对象的三大特征是6_Java面向对象的三大特征

面向对象的本质:以类的方式组织代码,以对象的方式组织数据。

面向对象三大特性:封装 继承 多态

封装:

概念:

隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性,可维护性。

程序设计要求“高内聚,低耦合”。

实现:

使用访问控制符,实现封装:

private:仅同一个类里可以看到

default:同一个类和同一个包中可以看到

protected:同一个类、同一个包和子类中可以看到(不同包的子类也可以看到)

public:公开,所有类都可以看到

要点:

类的属性的处理:一般使用private(除非本属性确定会让子类继承)。

提供相应的get/set方法来访问相关属性,从而提供对属性的读取操作。

===================================================================

继承:

概念:

继承是类与类之间的一种关系。

类是对对象的抽象,继承是对某一批类的抽象。

子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法)。

子类是父类的扩展,提高代码的复用性。

java中只有单继承,没有多继承,多继承可以通过接口来实现。

extends:

在子类加上extends关键字继承相应的父类。

final:

final修饰类,则该类不可被继承。

方法的重写:

在子类中可以根据需要对从父类中继承来的方法进行重写。

重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型。

重写方法不能使用比被重写方法更严格的访问权限。(因为:父类引用指向子类对象)

===================================================================

多态:

概念:

多态就是对象的多种形态

多态性可以用来实现动态联编,程序的最终状态只有在执行过程中才被决定而并非在编译期间就决定了。

好处:

提高系统的灵活性和扩展性。

引用变量的两种类型:

编译时类型(模糊一点,一般是一个父类)由声明时的类型决定。

运行时类型(运行时,具体是哪个子类就是哪个子类)由实际对应的对象类型决定。

多态的存在要有三个必要条件:

要有继承,要有方法重写,父类引用指向子类对象。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/372209.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tornado(一)

Tornado 特点 Tornado是一个用Python写的相对简单的、不设障碍的Web服务器架构,用以处理上万的同时的连接口,让实时的Web服务通畅起来。虽然跟现在的一些用Python写的Web架构相似,比如Django,但Tornado更注重速度,能够…

Android下Opengl ES实现单屏幕双眼显示

http://blog.csdn.net/u011371324/article/details/68946779 默认情况下,Opengl ES使用系统提供的帧缓冲区作为绘图表面,一般情况下,如果只在屏幕的表面绘图的话,系统提供的默认帧缓冲区很高效,但是很多应用程序需要渲…

Oracle Service Bus –线程阻塞案例研究

本案例研究描述了在AIX 6.1和IBM Java VM 1.6上运行的Oracle Service Bus 11g遇到的线程阻塞问题的完整根本原因分析过程。 本文也是您提高线程转储分析技能的绝佳机会,我强烈建议您学习并正确理解以下分析方法。 与过早的中间件(Weblogic)重…

java 可以重载等于号码_Java面试之Java基础4——重载与重写的区别

目录重载与重写的概念重载与重写的区别重载与重写的总结构造器是否能被重写override为什么函数不能根据返回类型来区分重载重载与重写的概念重载:同样一个方法可以根据输入参数列表的不同,做出不同的处理。普通方法和构造器方法都能够重载。方法重载&…

二维数组、多维数组

二维数组: 定义二维数组 int[,] myArray new int[几个一维数组,数组中的个数]; 数组可以具有多个维度。例如,下列声明创建一个四行两列的二维数组(可以理解为4个1维数组,数组中包含2个元素): int[,] myArray new int[4,2]; int[…

一张大图片有多个小图片

这个页面也是我看到别人的写的,感觉不错,就自己留下了为了以后自己可以容易找到,也希望可以方便到别人。 写这个页面 需要注意的是: 1.写每一个小图片的位置时候,要用id,这样等级就高了,不然不起作用。 2.因…

java中如何调用dal接口案例_关于Java:接口的目的

好吧,我认为接口是一种强制对象实现一定数量功能的方法,而不必使用继承。有点像合同。我半明白他们的意思。但是,如果界面中的所有内容都是:public interface animal{void eat(object food);}它没有这样的实现,那么无论…

Android Studio混淆

这一篇说一下Android Studio的代码混淆: 第一步:要想使混淆生效,要修改项目(App)下的build.gradle一处内容:minifyEnabled 的值 设置为true,当前项目就可以使用混淆了。 apply plugin: com.and…

内存访问模式很重要

在高性能计算中,通常会说高速缓存未命中的代价是算法的最大性能损失。 多年来,处理器速度的提高大大超过了延迟到主内存的速度。 通过更宽的多通道总线,到主内存的带宽已大大增加,但是延迟并未显着减少。 为了掩盖这种延迟&#x…

上传头像将光标去掉

οnfοcus"this.blur();" unselectable"on" οnfοcus"this.blur();"支持火狐,谷歌等主流浏览器 unselectable支持ie浏览器转载于:https://www.cnblogs.com/jar-gon/p/6841239.html

java底层 文件操作_JAVA的文件操作【转】

11.3 I/O类使用由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择。因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本能力。本章IO类的使用就从…

JAVA多线程,真的能提高效率吗

举个栗子 比如挖一个隧道,有2种开工方法1、只在山的一头挖,直至挖到山的另一头,从而打通隧道,这可以看成是单线程 2、在山的两头挖,同时开工,最后在山的中间接通,从而打通隧道,这感觉…

Java 8:测试Lambda水

Java 8大约有一年的时间了,它具有我非常期待的语言功能: Lambda Expression 。 令人遗憾的是,另一个重要功能Java平台模块已延迟到Java9。但是,将lambda表达式(或闭包)添加到该语言中将使Java编程变得更好。…

java定义js函数_JS中可以先使用函数,然后再定义.

首先要说明的,下面这种方式是对的,虽然不知道为什么,很奇怪为什么可以先使用,再定义,希望有了解的人可以给个说法.hello(www.openj.cn);function hello(name){alert("hello " name)};本文首发于 http://blog.openj.cn下面的这种定义函数方式,对于写一些比较复杂的代码…

基于阀值的工作流引擎设计

最近在做工作流处理流程部分的工作,顺便研究了一下工作流引擎的一些设计理念和原理。由于以前接触过人工智能神经网络的一些东西,发现工作流引擎和神经网络还是颇有一些相似之处,都是满足一定的条件下向下一个节点传递。在神经网络的神经元中…

Git之安装管理

1.Git安装部署 Git是分布式的版本控制系统,我们只要有了一个原始Git版本仓库,就可以让其他主机克隆走这个原始版本仓库,从而使得一个Git版本仓库可以被同时分布到不同的主机之上,并且每台主机的版本库都是一样的,没有主…

Java执行程序服务类型

ExecutorService功能是Java 5附带的。它扩展了Executor接口,并提供了线程池功能来执行异步简短任务。 使用Java 6提供的ExecutorService接口有五种异步执行任务的方法。 ExecutorService execService Executors.newCachedThreadPool(); 这…

MySQL的主动优化和被动优化_MySQL“被动”性能优化汇总!

年少不知优化苦,遇坑方知优化难。 ——村口王大爷本文内容导图如下:我之前有很多文章都在讲性能优化的问题,比如下面这些:当然,本篇也是关于性能优化的,那性能优化就应该一把梭子吗?还是要符合一…

python2

一、管理库的安装 安装pip 提示报错:安装pip提示No module named setuptools Windows环境下Python默认是没有安装setuptools这个模块的,这也是一个第三方模块。下载地址为http://pypi.python.org/pypi/setuptools。下载后直接运行ez_setup.py 参考地址&…

Java Mybatis

Mybatis转载于:https://www.cnblogs.com/leading-index/p/6853031.html