面向对象的三大特性:封装、继承、多态
封装:
包装:
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) ---》空格
布尔型(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 class ClasName {
//成员变量
//构造方法
//无参的构造方法【必须】
//有参的构造方法【建议】
//成员方法
//getXxx()
//setXxx()
}
需求1:定义一个学生标准类:姓名,年龄,身高,体重,学号
容器:
是将多个数据存储到一起,每个数据成为该容器的元素。
数组:
存储数据长度固定的容器,保证多个数据类型要一致。
数组定义:
| | 方式一:推荐使用(可以定义多个数组) | header |
|
|
| 格式:数组存储的数据类型[] 数组名称 = new 数组存储的数据类型[长度]; | |
| | |
| 如:定义一个长度为5的整形数组 int[] arr= new int[5]; | |
| 定义一个长度为10的字符串数组 String[] arp = new arp 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]
数组的长度属性:每个数组都具有长度,而且是固定的
格式:
数组名.lenth (没有小括号,有小括号就成方法了)
获取数组的最大索引值:数组名.lenth-1
String arr ={};//不为null,长度为0的数组
给数组中的索引对应的位置赋值:
arr[index]= 值;
数组遍历:$$$$$$$重点$$$$$$$$$
数组遍历:就是将数组中的每个元素分别获取出来,就是遍历。
遍历是数组操作中最重要的一环