java存储张三李四_JAVA_day14_面向对象的特征
今日所学
面向对象的三大特征:封装、继承、多态
封装
包装:
1.方便携带 访问方便
2.保护性
3.安全性
封装可以认为是一个保护屏障,防止该类的代码和数据被其他类随意的访问
如果要访问该类的数据,必须通过制定的方式。
适当的封装可以让你的代码更容易理解和维护,也加强了代码的安全性。
狭义的封装一般是把类中的成员变量隐藏起来,如果需要访问某个隐藏的成员变量,
提供公共方法对其访问。
广义的封装范围包罗万象
封装的步骤
1.使用权限修饰符private 私有的,私人的,自己的
private修饰类中的成员变量 此时类中的成员变量就隐藏起来类
2.提供对应的一对getXxx()方法和setXxx()方法
Xxx------->成员变量名
private的含义:
1.private可以修饰成员变量和成员方法。
2.private是一个权限修饰符,代表的是最小的权限。
3.被private修饰后的成员变量和成员方法,只能在本类中访问。
成员变量
1.如果没有手动进行赋值,系统会自动进行赋值(默认值)
2.成员变量不同的数据类型进行初始化赋值是不同的
整形(byte short int long)--->0
浮点型(float double)--->0.0
字符型(char)---> 空格 “/u0000”
布尔型(boolean)--->false
引用类型(类,String,接口)--->null
封装优化1---this关键字
this代表所在类的当前对象的引用(地址值),即对象自己的应用。
备注:方法被哪个对象调用,方法中的this就代表哪个对象,即谁调用,this就指带谁。
1.就近原则
this的使用格式:
this.成员信息名
通常使用this修饰方法中的变量,解决成员变量被隐藏的问题。
封装优化2---构造方法
构造方法的两个作用:
1.进行对象的创建
2.用来初始化对象中的成员变量信息
当一个对象呗创建出来的时候,构造方法用来初始化该对象,给对象的成员变量赋值。
备注:
当一个类被定义出来的时候,系统会自动给你一个构造方法,是一个没有参数的构造方法
但是如果在类中自定义带参数的构造方法后,那么就会覆盖掉系统默认的提供的无参数的构造方法。
构造方法定义格式:
修饰符 构造方法名(参数列表){//方法体
......
}
构造方法名与它所在的类名相同,它没有返回值.
方法的重载:
方法的重写:
标准代码----JavaBean
JavaBean 是java语言编写类的一种标准规范,符合JavaBean标准类,要求类必须是具体和公共的,
并且具有无参数的构造方法,提供用来操作成员变量的set和get方法
成员变量是私有的,set和get方法是公共的。
JavaBean标志类
public classClasName{//成员变量//构造方法//无参的构造方法【必须】//有参的构造方法【建议】//成员方法//getXxx()//setXxx()
}
容器:
是将多个数据存储到一起,每个数据称为该容器的元素。
数组:
存储数据长度固定的容器,保证多个数据的数据类型要一致。
数组定义:
方式一:推荐使用
格式:数组存储的数据类型[ ] 数组名称= new 数组存储的数据类型[长度];
如:定义一个长度为5的整形数组
int[]arr = new int[5];
定义一个长度为10的字符串数组
String []arr = new String[10];
方式二:
格式:数组存储的数据类型[ ] 数组名称= {元素1,元素2,元素3,....};
如:定义一个存储张三李四王五赵六字符串的数组容器
String[]arr = {"张三","赵四","王五","赵六"};
方式三:
格式:数组存储的数据类型 [ ] 数组名称= new 数组存储的数据类型[ ]{元素1,元素2,元素3...};
如:定义一个存储10,20,30,40的整形数组
int[]arr=new int[]{10,20,30,40};
备注:数组有定长特性,长度一旦制定,不可更改。
数组的访问:
索引:每一个存储到数组的元素,都会自动的拥有一个编号,起始值从0开始,这个自动编号称为数组的索引(index)
可以通过数组的索引访问数组中的元素。索引不重复唯一。
格式:
数组名[索引]
如 :
String[]arr = {"张三","赵四","王五","赵六"};
0--代表的就是数组中的第一个元素,1--代表的就是数字中的第二个元素,以此类推。
李四=arr[1]
arr[3]
数组的长度属性:每个数组都具有长度,而且是固定的
格式:
数组名.length
获取数组的最大索引值:数组名.length-1
String arr = { };//不是null,空为没有元素
给数组中的索引对应的位置赋值;
arr[index]=值
数组遍历:【重点】
数组遍历:就是将数组中的每个元素分别获取出来,就是遍历。遍历是数组操作中的最重要的一环。
java存储张三李四_JAVA_day14_面向对象的特征相关推荐
- Java面试题:面向对象的特征有哪些方面?
古往今来,自学成才的人有几个,大多数人才都是有良师引导.如果说你觉得自己也能学会,秉持着好记性,能背会所有书,但是你背会了书,却不理解其中的意义,这书也就白读了吗?所以你在前行的时候要有人告诉你书的奥 ...
- 开课吧课堂-Java面试题:面向对象的特征有哪些方面?
古往今来,自学成才的人有几个,大多数人才都是有良师引导.如果说你觉得自己也能学会,秉持着好记性,能背会所有书,但是你背会了书,却不理解其中的意义,这书也就白读了吗?所以你在前行的时候要有人告诉你书的奥 ...
- 一、Java面试基础之面向对象的特征:继承、封装和多态(原创实例)
#一.继承 ***1.概念:***继承是类与类的一种关系,是一种"is a"的关系.比如"狗"继承"动物",这里动物类是狗类的父类或者基类, ...
- Java学习day012(面向对象三大特征补充)
文章目录 多态 多态的成员访问的特点 多态的好处和弊端 多态中的转型 抽象类 抽象类特点 抽象类的成员特点 接口 接口特点 接口的成员特点 类和接口的关系 抽象类和接口的关系 内部类 成员内部类 局部 ...
- java面向对象的特征 —(13)
面向对象的特征一:封装与隐藏 1.为什么要引入封装性? 我们程序设计追求"高内聚,低耦合". 高内聚 :类的内部数据操作细节自己完成,不允许外部干涉: 低耦合 :仅对外暴露少量的方 ...
- Java基础之面向对象的特征。
首先需要知道类和对象是什么? 维基百科定义类为: an extensible program-code-template for creating objects, providing initial ...
- Java原理 面向对象的特征与“六原则一法则”
面向对象的特征 主要有抽象.继承.封装和多态四个方面,下面是我们来详细分析它们的含义: - 抽象: 抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属 ...
- Java基础-面向对象第二特征之继承(Inheritance)
Java基础-面向对象第二特征之继承(Inheritance) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序 ...
- Java面向对象(二)面向对象的特征 --- 封装 、 继承、 多态
面向对象的特征:封装.继承.多态.(抽象) 一.封装 体现形式: 函数 --- 提高代码的复用性. 属性的私有化 --- 将属性设为私有,通过提供对外的访问方法来间接操作对象属性,可以再方法内对属性做 ...
最新文章
- c++抽象类在多继承中的应用
- 新建android项目导包,Cordova开发App入门(一)创建android项目
- 林辉高考机器人_机器人2019年参加高考 力争考上一本
- 陆奇李开复余凯谈AI十年机遇,Hinton和LeCun会如何评价?
- 触动精灵怎么设置虚拟服务器,如何调试脚本及解决问题的方法
- Linux转发性能评估与优化(转发瓶颈分析与解决方案)
- Excel-缺失数据处理
- UI设计需要使用哪些软件?推荐这5款
- 【网络】把路由器用作交换机的方案
- android手机连接esp32视频
- 套接字基础与UDP通信
- 【更新】京东、美团、饿了么获取cookies
- Oracle 11g win32位 window7下安装教程 (其实64位类同)
- O2O常见的结算模式是什么 O2O线上线下营销策略有哪些?
- Unity 中 print 和 Debug.Log 的区别
- 实现单点登录(伪登录)
- 关于矩阵胶囊与EM路由的理解(基于Hinton的胶囊网络)
- [新增EA028高压注射器]24套UML+EA和StarUML的建模示范视频-全程字幕(2022.7.4更新)
- Backlight driver on Android
- FPGA 学习笔记:Vivado 2018.2 MicroBlaze Uartlite 配置
热门文章
- linux脚本编写图形,shell图形化界面脚本实现
- 2D Conforming Triangulations
- NDK Resolution Outcome: Project settings: Gradle model version=XXX, NDK version is UNKNOWN
- Python将word表格存入excel —— 格式化pg参数手册
- NS3仿真之LTE数据分析RSRP,SINR,吞吐量
- Centos 7 部署 OpenStack_Rocky版高可用集群3-1
- 【计算机视觉】图像配准(Image Registration)
- Tomcat部署及安装
- [转]Facebook 如何管理150亿张照片
- 详解Shell脚本:正则表达式