年底了,总结下知识点和遇到过的面试题目。

1,如何理解面相对象。

  ‘万物皆对象’说的没错,听起来挺反感的,问一个说一个。有些话觉得用自己的话讲出来肯俗点,但可以证明你理解了一点。我理解的是:之所以叫面向对象语言,可以把现实中的所有的物体都当做一个个对象来解决,每个对象都有其独立的属性和方法,每个对象之间具有一定的联系,在面向对象设计编程中,不需要考虑对象的实现细节,每个对象都有自己的任务和功能。比如:可以找身边的一些例子,比如垃圾桶,特征属性(形状,大小,颜色),方法(能装可回收、不可回收垃圾),用java语言就可以将其封装成一个类,类中就有所说的这些垃圾桶特征和方法。网上有这个例子觉得不错( 面向对象就好比是你们一家人是个整体是一个大的对象,你们家的每个人就是对象中的一个方法,你们的祖先就是你们的父类,因此你们继承了祖先(父类)的很多特性,而你们一家人和你们的祖先一起被封装了,所以别人只知道你们这个大家族(比如姓氏为王的家族)而不知道你们家(对象)的特性。你们大家族有很多的小家族(对象),也许你们家是做生意的,你大伯一家都是当兵的所以就这样多态性咯。 )简而言之面相对象就是为了将代码和现实生活结合方便理解和编写。特征:封装、继承、多态,抽象。

封装:一个类中可以包含某些属性和方法,被这个类封装,其他类中要访问可以通过找到当前类,调取里面的方法。可以理解为一个每个类都是个大箱子。通过封装,只为用户提供接口,而隐藏了内部的集体实现,例如访问权限。

继承:父类声明指向子类对象,通过引用调用父类属性和方法,单继承。一般我们会吧一些具有共同特征方法的类提取出来,其他子类通过继承就可以得到这些共性,可以使代码更简洁,重用率高,缺点耦合性高,牵一发动全。

多态:重载,一个类中包含多个同名方法,返回值不同,参数列表不同,参数列表表示(数量,顺序不同),只针对当前类,重写 :父类引用指向子类对象,可以调用父类的方法。子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写,指父类和子类,简而言之重写比如A里有say() B继承A B a = new B(); a.say();其实调用的是子类的方法,故知重写。

抽象:分抽象类和抽象方法,抽象类abstract修饰类且不允许被实例化的类,类中可以用普通方法和抽象方法体,只能通过继承重写类中的抽象方法才能被实例化;抽象方法是用abstract修饰没有方法体的方法,也只能被子类重写后实例。两者都是找出一些事物的相似和共性之处,然后将这些事物归为一个类,这个类只考虑这些事物的相似和共性之处。简而言之,抽象类中可以没有抽象方法,为普通类,而抽象方法必定是一个抽象类(至于jdk新特性来没来得急研究),只能通过子类实现抽象方法来实例这个方法,若子类没有实现,其子类也是抽象类。

java基础面向对象总结(一)的更多相关文章

  1. java基础面向对象之类与对象

    java基础面向对象之类与对象 2017-01-14 1.面向对象的基本概念 以一种组建化的形式进行代码设计 1)在面向对象程序设计中包含有如下几种特性 •封装性:保护内部结构的安全性 •继承性:在已 ...

  2. 第二十七节:Java基础面向对象-静态,单例模式,继承详情知识点

    前言 Java基础面向对象-静态,单例模式,继承详情知识点.静态-static关键字,static变量,静态代码块,代码块(不加静态),对象创建过程,单例模式,继承. 静态-static关键字 // ...

  3. Java基础-面向对象第三大特性之多态(polymorphism )

    Java基础-面向对象第三大特性之多态(polymorphism) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.多态概述 多态是继封装,继承之后,面向对象的第三大特性,多态的 ...

  4. Java基础-面向对象第二特征之继承(Inheritance)

    Java基础-面向对象第二特征之继承(Inheritance) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序 ...

  5. Java基础-面向对象第一特性之封装(Encapsulation)

    Java基础-面向对象第一特性之封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.理解什么是面向过程和面向对象 面向过程与面向对象都是我们编程中 ...

  6. JAVA(一)JAVA基础/面向对象基础/高级面向对象

    成鹏致远 | lcw.cnblog.com |2014-01-23 JAVA基础 1.开发环境搭建 JAVA程序的执行流程 JAVA命令->要使用一个*.class文件(类文件)->通过c ...

  7. Java基础——面向对象

    Hello 大家好,我又来啦,今天我们来说说Java的面向对象. 还记得之前去面试几家公司的实习生职位,大部分面试官都问过我有关面向对象 的问题,不知道以后还会不会问,估计是不会了吧...(:3[▓▓ ...

  8. 九、Java基础---------面向对象封装、继承、多态

    封装 1.1 基本概念  封装(encapsulation)是面向对象三大特征之一,它是指将对象的状态信心隐藏在对象的内部,不允许外部直接进行访问,而是通过该类提供的方法来实现对内部信息的操作和访问. ...

  9. 面试题-Java基础-面向对象

    1.面向对象软件开发的优点有哪些? 代码开发模块化,更易维护和修改.代码复用.增强代码的可靠性和灵活性.增加代码的可理解性.面向对象编程有很多重要的特性,比如:封装,继承,多态和抽象.下面的章节我们会 ...

  10. JAVA基础——面向对象三大特性:封装、继承、多态

    JAVA面向对象三大特性详解 一.封装 1.概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.好处: 只能通过规定的方法访问数据. ...

随机推荐

  1. Docker从入门到实践(4-1)

    使用 Docker 镜像 在之前的介绍中,我们知道镜像是 Docker 的三大组件之一. Docker 运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker 会从镜像仓库下载该镜像. ...

  2. 手把手带你一键部署 Kubernetes + KubeSphere 至 Linux

    本文介绍一个最快安装 Kubernetes 和体验 KubeSphere 核心功能的方式,all-in-one 模式可一键安装 Kubernetes v1.15.5 和 KubeSphere 至一台 ...

  3. 20191010-3 alpha week 1/2 Scrum立会报告+燃尽图 01

    此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/8746 一.小组情况 组长:迟俊文 组员:宋晓丽 梁梦瑶 韩昊 刘信鹏 队名 ...

  4. Linux发展史及安装

    操作系统 什么是操作系统 人与硬件的中介/桥梁 操作系统的组成  操作系统可以理解为一个鸡蛋 蛋黄    内核                   Linux内核  托瓦斯  鸡蛋清  命令解释器(s ...

  5. CCNA 之 七 路由协议 三 OSPF

    OSPF协议 OSPF开放式最短路径优先 全称:Open Shortest Path First 是目前使用最为广泛的路由协议,主要因为OSPF是开放式协议,和IGRP.EIGRP思科的私有协议不同. ...

  6. Java多线程——锁

    Java多线系列文章是Java多线程的详解介绍,对多线程还不熟悉的同学可以先去看一下我的这篇博客Java基础系列3:多线程超详细总结,这篇博客从宏观层面介绍了多线程的整体概况,接下来的几篇文章是对多线 ...

  7. HTML 5 中的textarea标签

    HTML 5 中的textarea标签 定义和用法 定义一个文本区域 (text-area) (一个多行的文本输入区域).用户可在此文本区域中写文本.在一个文本区中,您可输入无限数量的文本.文本区中的 ...

  8. vue如何引入图片地址

    我们在用vue时储存图片时,一般把图片放在两种文件下,一个是static文件夹下,另外一个是assets文件夹下. 下面总体说一下这两个的区别及正确的引用方式: static是放不会变动的图片(或文件 ...

  9. cesium添加多个geojson文件并分别控制显示和隐藏

    /*获取geojson数据*/ function get_geojson(name,h,n){ let x=document.getElementById(n); if(x.className === ...

  10. Kafka 安装配置 及 简单实验记录

    1. 下载二进制文件并解压,并修改 broker.id 的值 wget http://apache.fayea.com/kafka/0.10.0.0/kafka_2.10-0.10.0.0.tgz - ...