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学习课程,其实在第一开始的时候我对计算机行业便有很高地兴趣了.这主要归功于我真的从很小开始就就接触了电脑.进入学校以来,我就很期待老师会怎样教我们,会怎样带 ...
随机推荐
- C++ 线性搜索算法演示的代码
将做工程过程中比较好的内容做个备份,下边代码段是关于C++ 线性搜索算法演示的代码. #include<iostream>#include<conio> int linears ...
- IDEA右侧 Maven oracle依赖包有红色波浪线
1\下载 ojdbc14-10.2.0.4.0.jar http://www.java2s.com/Code/Jar/o/Downloadojdbc14102040jar.htm 2.将ojdbc14 ...
- 老集群RAC双网卡绑定
老集群RAC双网卡绑定 作者:Eric 微信:loveoracle11g [root@db-rac02 network-scripts]# cat ifcfg-bond0 DEVICE=bond0 I ...
- C++primer第一章(部分)
1.4.2 for 语句 for (init-statement; condition; expression) statement; step1:初始化 step2:判断条件,为真则执行循体:为假则 ...
- yum搭建 Lamp环境
yum搭建Lamp yum install -y httpd yum install -y nano rpm 安装 Php7 相应的 yum源 rpm -Uvh https://dl.fedorapr ...
- 刘志梅 201771010115 《面向对象程序设计(java)》 第十八周学习总结
实验十八 总复习 实验时间 2018-12-30 1.实验理论知识 (1)第一个关键词:public称为访问修饰符,用于控制程序的其他部分对代码的访问级别. 第二个关键词:class表明java程序中 ...
- 研究并尝试改进Vyeshal
我想研究Vyeshal,这样就不可避免的要用到游戏中的语音.然而游戏内的语音文件是.bank类型的,如何转化为可听文件是个问题.
- com.android.build.api.transformException报错的解决方法
最近遇到一个问题:工程需要依赖模块1和模块2,但是模块1和模块2都使用了opencv,但opencv的版本不同,如果同时依赖两个模块,就会报错重复定义...如果模块2依赖模块1,工程再依赖模块2,也会 ...
- MyBatis中使用#和$书写占位符有什么区别?
#将传入的数据都当成一个字符串,会对传入的数据自动加上引号:$将传入的数据直接显示生成在SQL中.注意:使用$占位符可能会导致SQL注射攻击,能用#的地方就不要使用$,写order by子句的时候应该 ...
- JS——页面带参数跳转
#index.html window.location.href = "../home.html?value=" + rec_value; #home.html <scrip ...