面向过程和面向对象有什么区别?

面向过程的核心是函数,以功能为中心,实现了函数级别的代码重用。

面向对象的核心是封装了属性和方法(行为)的类,以数据为中心,实现了类级别的代码重用。

面向对象因为采用了类,所以具有封装、继承和多态特性,提高了代码重用性、可维护性和扩展性,适合大型项目的开发。

类和对象的区别:

类是对某一类事物的描述,是抽象的概念上的定义(一类事物),类具有自己的属性和行为

对象是实际存在的,具体事物的个体(一类实物详细的某一个)

关系:好比模具和用模具制作出的关系,一个类可以有多个对象

权限符的区别:

public:项目下所有的类文件都可以访问:项目可见性(权限最大)

protect:同一个包中都可用,protect可让子类访问

默认:什么都不写,再同一个包中可用,不写修饰符

private:权限只在自己的类中可见,其他不可用(另一个类中新建对象也不行)

final:final修饰的属性值是不可更改的

static:用它修饰的成员变量或方法可直接使用类名,静态方法中调用不能用super和this,在方法体里不可定义static变量

构造方法:

构造方法名称和类名相同,没有返回值类型,作用是在创建对象时执行一些初始化操作(完成对象成员的赋值)

方法重载的作用:

属性值已经在 构造方法中固定了,在创建对象时完成不同属性的动态赋值(灵活性强)

方法重载特点:方法名相同,构造方法参数列表不同与返回值类型和修饰符无关。

封装:

封装将属性设为private(私有的)

封装通过private,protect,public和默认权限控制符实现权限的控制,降属性设为private,属性只能在类中可见,在提供public权限的setter/getter实现对属性的读取(存取)在setter方法中对用户的输入的控制范围进行判断(控制用户输入范围)

this:当成员变量和局部变量名相同,必须使用this,:public void setName(String name){this.name=name;}

总结:

抽有象类中可以有构造方法吗?

解答:抽象类可以有构造方法,

其构造方法可以被本类的其他构造方法调用,

若此构造方法不是由 private 修饰,也可以被其子类中的构造方法调用。

抽象类和抽象方法的特点?

答:(1) 抽象类和抽象方法都通过 abstract 关键字来修饰。

(2) 抽象类不能实例化。抽象类中可以0到多个抽象方法,甚至全部方法都可以

是抽象方法。

(3) 抽象方法只有方法声明,没有方法实现。

有抽象方法的类必须声明为抽象类。

子类必须重写所有的抽象方法才能实例化,否则子类还是一个抽象类。

属性可以是简单变量,也可以是一个对象

面向对象的三大特征      封装、继承、多态   

   abstract  可以用来修饰类和方法,但不能用来修饰属性和构造方法

java第一章抽象和封装的更多相关文章

  1. “全栈2019”Java第一章:安装JDK11(Mac)

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 文章原文链接 “全栈2019”Java第一章:安装JDK11(Mac) 下一章 “全栈2019”Java ...

  2. Java 第一章 初识Java

    第一章笔记 什么是计算机程序:算机为完成某些功能生产的一系列有序指令集合 Java技术包括: java SE:标准版 java EE:企业版 Java ME:移动版 开发Java程序步骤:1.编写 2 ...

  3. Java第一章

    第一章 计算机程序:计算机为完成某些功能产生的一系列有序指令集合. Java技术包括:JavaSE(标准版)  JavaEE(企业版) ---JavaME(移动版) 开发Java程序步骤:1.编写 2 ...

  4. 20165233 Java第一章学习总结

    20165233 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一章 Java特点:语法简单.面向对象.与平台无关.动态. 字节码不能被任何平台直接识别. ...

  5. Java第一章----Java概述+环境搭建

    写在前面的话: Java基础的东西看过好几遍,但是过一段都就忘记了,所以这次我决定花费一些时间整理一个系列博客供以后方便查阅.此系列根据Java编程思想+Java核心技术两本书整理而来,这两本书也是我 ...

  6. Java OOP——第一章 对象和封装

    1.软件出现的目的: 用计算机的语言描述现实世界 用计算机解决现实世界的问题   ◆面向对象设计和开发程序的好处:    交流更加流畅    提高设计和开发效率 计算机语言的发展向接近人的思维方式演变 ...

  7. Java中的抽象和封装

    一.面向对象和面向过程的区别 面向对象: 核心:封装了属性和方法的类,以数据为中心,实现了类级别的代码重用 面向对象因为采用了类,所以具有继承和多态特性,可以进一步重用代码和简化编程 面向过程: 核心 ...

  8. 对象导论 Thinking in Java 第一章

    1.1 抽象过程 1.人们能够解决问题的复杂性直接取决于抽象的类型和质量. 1.2 每个对象都有一个接口 1.3 每个对象都提供服务 1.4 被隐藏的具体实现 1.程序猿分为:类创建者 和 客户端程序 ...

  9. 学习JAVA第一章的心得

    我抱着万分期待的心情开始了我第一天的JAVA学习课程,其实在第一开始的时候我对计算机行业便有很高地兴趣了.这主要归功于我真的从很小开始就就接触了电脑.进入学校以来,我就很期待老师会怎样教我们,会怎样带 ...

随机推荐

  1. FuzzScanner 信息收集小工具

    前言: 该工具集成了各种大牛的工具,比如子域名发现,目录扫描,nmap端口扫描,c段地址查询,端口指纹,以及waf查询 00X1: 安装不推荐git安装,首先直接githup脱下来:git clone ...

  2. 二叉排序树插入C语言版 递归步骤理解

    //二叉排序树 插入 (纯C语言实现) BTNode * BSTInsert2(BTNode *bt,int key){ //为什么纯C语言实现中 if(bt==NULL){ //要写成 bt-> ...

  3. WRF安装过程

    WRF安装过程 1.  在虚拟机VMware上安装Fedora 12 x64操作系统. 2. 安装PGI9.01 a)         电驴上可下载[[顶级编译器].PGI.Workstation.C ...

  4. 基础总结(04)-- display:none;&&visibility:hidden;区别

    display:none 1.使元素隐藏,不再占据空间. 2.动态操作时会引起页面回流和重绘,影响性能. 3.子元素也会被隐藏并且添加display:block/visibility:visible无 ...

  5. 优于 swagger 的 java markdown 文档自动生成框架-01-入门使用

    设计初衷 节约时间 Java 文档一直是一个大问题. 很多项目不写文档,即使写文档,对于开发人员来说也是非常痛苦的. 不写文档的缺点自不用多少,手动写文档的缺点也显而易见: 非常浪费时间,而且会出错. ...

  6. 【Appium自学】Android studio安装与配置(转)

    转自链接:https://www.cnblogs.com/xiadewang/p/7820377.html 1.首先下载Android studio安装包. 可以从http://www.android ...

  7. 72.纯 CSS 创作气泡填色的按钮特效

    原文地址:https://segmentfault.com/a/1190000015560736 感想:过渡效果+xyz中一轴. HTML code: <nav> <ul> & ...

  8. JavaScript代理模式

    代理模式的定义,代理是一个对象(proxy)用它来控制目标对象的访问.为此他要是先与目标对象相同的接口,但是他不同于装饰者模式,它对目标对象不进行任何修改,它的目的在于延缓"复杂" ...

  9. 关于std::thread

    std::thread基本用法 1.普通函数: std::thread thread(func, param, ...) 2.类成员函数: std::thread thread(&class_ ...

  10. 详细解说Windows 8.1与Windows 8的区别(Win8.1与Win8区别)

    详细解说Windows 8.1与Windows 8的区别(Win8.1与Win8区别) 本文转自“吾乐吧软件站”,原文链接:http://www.wuleba.com/?p=23082 最近,吾乐吧软 ...