java基础面向对象总结(一)
年底了,总结下知识点和遇到过的面试题目。
1,如何理解面相对象。
‘万物皆对象’说的没错,听起来挺反感的,问一个说一个。有些话觉得用自己的话讲出来肯俗点,但可以证明你理解了一点。我理解的是:之所以叫面向对象语言,可以把现实中的所有的物体都当做一个个对象来解决,每个对象都有其独立的属性和方法,每个对象之间具有一定的联系,在面向对象设计编程中,不需要考虑对象的实现细节,每个对象都有自己的任务和功能。比如:可以找身边的一些例子,比如垃圾桶,特征属性(形状,大小,颜色),方法(能装可回收、不可回收垃圾),用java语言就可以将其封装成一个类,类中就有所说的这些垃圾桶特征和方法。网上有这个例子觉得不错( 面向对象就好比是你们一家人是个整体是一个大的对象,你们家的每个人就是对象中的一个方法,你们的祖先就是你们的父类,因此你们继承了祖先(父类)的很多特性,而你们一家人和你们的祖先一起被封装了,所以别人只知道你们这个大家族(比如姓氏为王的家族)而不知道你们家(对象)的特性。你们大家族有很多的小家族(对象),也许你们家是做生意的,你大伯一家都是当兵的所以就这样多态性咯。 )简而言之面相对象就是为了将代码和现实生活结合方便理解和编写。特征:封装、继承、多态,抽象。
封装:一个类中可以包含某些属性和方法,被这个类封装,其他类中要访问可以通过找到当前类,调取里面的方法。可以理解为一个每个类都是个大箱子。通过封装,只为用户提供接口,而隐藏了内部的集体实现,例如访问权限。
继承:父类声明指向子类对象,通过引用调用父类属性和方法,单继承。一般我们会吧一些具有共同特征方法的类提取出来,其他子类通过继承就可以得到这些共性,可以使代码更简洁,重用率高,缺点耦合性高,牵一发动全。
多态:重载,一个类中包含多个同名方法,返回值不同,参数列表不同,参数列表表示(数量,顺序不同),只针对当前类,重写 :父类引用指向子类对象,可以调用父类的方法。子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写,指父类和子类,简而言之重写比如A里有say() B继承A B a = new B(); a.say();其实调用的是子类的方法,故知重写。
抽象:分抽象类和抽象方法,抽象类abstract修饰类且不允许被实例化的类,类中可以用普通方法和抽象方法体,只能通过继承重写类中的抽象方法才能被实例化;抽象方法是用abstract修饰没有方法体的方法,也只能被子类重写后实例。两者都是找出一些事物的相似和共性之处,然后将这些事物归为一个类,这个类只考虑这些事物的相似和共性之处。简而言之,抽象类中可以没有抽象方法,为普通类,而抽象方法必定是一个抽象类(至于jdk新特性来没来得急研究),只能通过子类实现抽象方法来实例这个方法,若子类没有实现,其子类也是抽象类。
java基础面向对象总结(一)的更多相关文章
- java基础面向对象之类与对象
java基础面向对象之类与对象 2017-01-14 1.面向对象的基本概念 以一种组建化的形式进行代码设计 1)在面向对象程序设计中包含有如下几种特性 •封装性:保护内部结构的安全性 •继承性:在已 ...
- 第二十七节:Java基础面向对象-静态,单例模式,继承详情知识点
前言 Java基础面向对象-静态,单例模式,继承详情知识点.静态-static关键字,static变量,静态代码块,代码块(不加静态),对象创建过程,单例模式,继承. 静态-static关键字 // ...
- Java基础-面向对象第三大特性之多态(polymorphism)
Java基础-面向对象第三大特性之多态(polymorphism) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.多态概述 多态是继封装,继承之后,面向对象的第三大特性,多态的 ...
- Java基础-面向对象第二特征之继承(Inheritance)
Java基础-面向对象第二特征之继承(Inheritance) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序 ...
- Java基础-面向对象第一特性之封装(Encapsulation)
Java基础-面向对象第一特性之封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.理解什么是面向过程和面向对象 面向过程与面向对象都是我们编程中 ...
- JAVA(一)JAVA基础/面向对象基础/高级面向对象
成鹏致远 | lcw.cnblog.com |2014-01-23 JAVA基础 1.开发环境搭建 JAVA程序的执行流程 JAVA命令->要使用一个*.class文件(类文件)->通过c ...
- Java基础——面向对象
Hello 大家好,我又来啦,今天我们来说说Java的面向对象. 还记得之前去面试几家公司的实习生职位,大部分面试官都问过我有关面向对象 的问题,不知道以后还会不会问,估计是不会了吧...(:3[▓▓ ...
- 九、Java基础---------面向对象封装、继承、多态
封装 1.1 基本概念 封装(encapsulation)是面向对象三大特征之一,它是指将对象的状态信心隐藏在对象的内部,不允许外部直接进行访问,而是通过该类提供的方法来实现对内部信息的操作和访问. ...
- 面试题-Java基础-面向对象
1.面向对象软件开发的优点有哪些? 代码开发模块化,更易维护和修改.代码复用.增强代码的可靠性和灵活性.增加代码的可理解性.面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象.下面的章节我们会 ...
- JAVA基础——面向对象三大特性:封装、继承、多态
JAVA面向对象三大特性详解 一.封装 1.概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.好处: 只能通过规定的方法访问数据. ...
随机推荐
- word使用指南(经常更新)
一.快捷键 Ctrl+C 复制 Ctrl+X 剪切 Ctrl+V 粘贴 Ctrl+F 查找 Ctrl+A 全选 Ctrl+Z/Y 撤销/还原撤销 Ctrl+D 打开字体对话框 Ctrl+S 另存为 C ...
- (四)OpenStack---M版---双节点搭建---Glance安装和配置
↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 1.创建glance数据库 2.获得 admin 凭证来获取只有管理员能执行的命令的访问权限 3 ...
- 新闻实时分析系统 基于IDEA环境下的Spark2.X程序开发
1.Windows开发环境配置与安装 下载IDEA并安装,可以百度一下免费文档. 2.IDEA Maven工程创建与配置 1)配置maven 2)新建Project项目 3)选择maven骨架 4)创 ...
- 【NOIP2017】【Luogu P3956】【SPFA】棋盘
Luogu P3956 本题是一道简单的SPFA 具体看程序 #include<iostream> #include<cstdio> using namespace std; ...
- springboot整合netty的多种方式
netty作为一个高性能的io框架,是非好用的一个技术框架, Netty 是一个基于NIO的客户.服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户. ...
- Spring security (一)架构框架-Component、Service、Filter分析
“致"高级"工程师(BUG工程师) 一颗折腾的心
- python网络爬虫之自动化测试工具selenium[二]
目录 前言 一.获取今日头条的评论信息(request请求获取json) 1.分析数据 2.获取数据 二.获取今日头条的评论信息(selenium请求获取) 1.分析数据 2.获取数据 房源案例(仅供 ...
- gganimate|创建可视化动图,让你的图表会说话
本文首发于“生信补给站”公众号,https://mp.weixin.qq.com/s/kKQ2670FBiDqVCMuLBL9NQ 更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号. ...
- windows虚拟机中DNS服务配置
在linux虚拟机中进行DNS服务配置并进行正向解析反向解析我博客中已经写过,下面 我来介绍一下在windows虚拟机中DNS服务的配置使用. 1.打开一台windows虚拟机中服务器管理器——角色— ...
- 第五章 Unity中的基础光照(2)
目录 1. Unity中的环境光和自发光 2. 在UnityShader中实现漫反射光照模型 2.1 实践:逐顶点光照 2.2 实践:逐像素光照 2.3 半兰伯特模型 1. Unity中的环境光和自发 ...