java第一章抽象和封装
面向过程和面向对象有什么区别?
面向过程的核心是函数,以功能为中心,实现了函数级别的代码重用。
面向对象的核心是封装了属性和方法(行为)的类,以数据为中心,实现了类级别的代码重用。
面向对象因为采用了类,所以具有封装、继承和多态特性,提高了代码重用性、可维护性和扩展性,适合大型项目的开发。
类和对象的区别:
类是对某一类事物的描述,是抽象的概念上的定义(一类事物),类具有自己的属性和行为
对象是实际存在的,具体事物的个体(一类实物详细的某一个)
关系:好比模具和用模具制作出的关系,一个类可以有多个对象
权限符的区别:
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第一章抽象和封装的更多相关文章
- “全栈2019”Java第一章:安装JDK11(Mac)
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 文章原文链接 “全栈2019”Java第一章:安装JDK11(Mac) 下一章 “全栈2019”Java ...
- Java 第一章 初识Java
第一章笔记 什么是计算机程序:算机为完成某些功能生产的一系列有序指令集合 Java技术包括: java SE:标准版 java EE:企业版 Java ME:移动版 开发Java程序步骤:1.编写 2 ...
- Java第一章
第一章 计算机程序:计算机为完成某些功能产生的一系列有序指令集合. Java技术包括:JavaSE(标准版) JavaEE(企业版) ---JavaME(移动版) 开发Java程序步骤:1.编写 2 ...
- 20165233 Java第一章学习总结
20165233 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 第一章 Java特点:语法简单.面向对象.与平台无关.动态. 字节码不能被任何平台直接识别. ...
- Java第一章----Java概述+环境搭建
写在前面的话: Java基础的东西看过好几遍,但是过一段都就忘记了,所以这次我决定花费一些时间整理一个系列博客供以后方便查阅.此系列根据Java编程思想+Java核心技术两本书整理而来,这两本书也是我 ...
- Java OOP——第一章 对象和封装
1.软件出现的目的: 用计算机的语言描述现实世界 用计算机解决现实世界的问题 ◆面向对象设计和开发程序的好处: 交流更加流畅 提高设计和开发效率 计算机语言的发展向接近人的思维方式演变 ...
- Java中的抽象和封装
一.面向对象和面向过程的区别 面向对象: 核心:封装了属性和方法的类,以数据为中心,实现了类级别的代码重用 面向对象因为采用了类,所以具有继承和多态特性,可以进一步重用代码和简化编程 面向过程: 核心 ...
- 对象导论 Thinking in Java 第一章
1.1 抽象过程 1.人们能够解决问题的复杂性直接取决于抽象的类型和质量. 1.2 每个对象都有一个接口 1.3 每个对象都提供服务 1.4 被隐藏的具体实现 1.程序猿分为:类创建者 和 客户端程序 ...
- 学习JAVA第一章的心得
我抱着万分期待的心情开始了我第一天的JAVA学习课程,其实在第一开始的时候我对计算机行业便有很高地兴趣了.这主要归功于我真的从很小开始就就接触了电脑.进入学校以来,我就很期待老师会怎样教我们,会怎样带 ...
随机推荐
- 前端——JavaScript之if语句
4.1 if语句 如果……否则…… , 让程序出现分支 1 <script type="text/javascript"> 2 va ...
- ABBYY FineReader 14OCR解锁
ABBYY FineReader 14是2017年新推的文字处理编辑软件,能够将图像扫描转换成文档处理.不论是在使用群体方面还是功能特性方面都是极好的. •确保扫描仪正确地连接到电脑,并将其打开.查阅 ...
- json2.js JSON解析程序
源码: /* http://www.JSON.org/json2.js 2010-03-20 Public Domain. NO WARRANTY EXPRESSED OR IMPLIED. USE ...
- JSP的三个脚本元素
JSP的脚本:JSP定义Java代码的方式 1. <% 代码 %>:[脚本段:java程序段]定义的java代码,在service方法中.service方法中可以定义什么,该脚本中就可以定 ...
- html5 video标签屏蔽右键视频另存为的js代码-HTML5教程
点评:html5 video标签本身有下载功能但是在video区域内,点击右键可以将“视频另存为”下面是屏蔽右键视频另存为的js代码,有此需求的朋友不要错过 做HTML5的video标签,本身我们 ...
- 【转载】Google 程序员消灭 Bug 的 5 大法宝!
遇到问题怎么办?还能怎么办,解决呗.那到底怎么解决呢?你是有什么惯用的逻辑模式.解决策略,还是全靠直觉手感? 本文中,一位 Google 程序员将“现场”演示其解决编程问题的始末,看看有套路的问题解决 ...
- JAVA体系学习-导向
一:当前学习内容 数值类型处理总结,字符类型处理总结,日期类型处理总结 spring 事务源码分析 spring源码系列 二:当前学习 主攻:并发编程->RPC原理->MQ原理->- ...
- 68.纯 CSS 创作一本色卡
原文地址:https://segmentfault.com/a/1190000015456554 感想:复习下 transform-origin: 位置; HTML code: <div cla ...
- nginx配置多个域名
1.原来的80端口改掉,下面配置: server { listen 80; server_name *.pobohn.com; location / { proxy_pass http://local ...
- vmvare使用桥接和NAT方式连接网络
一.背景:本着学以致用的心态,试着最小化安装Centos7.4.安装centos主要目的有两个:共享文件(samba).安装postgresql数据库 本打算使用内网(不联网)的方式安装samba和p ...