2019-10-19-21:09:31
面向对象的封装性
封装性
概念:封装就是将一些细节信息隐藏起来,对于外界不可见
面向对象封装性在Java中的体现
1.方法就是一种封装
public class Packaged {
public static void main(String[] args) {
int[] array = {5,15,20,25,30};//定义一个静态数组
int max = getMax(array);//调用getMax方法,然后赋值给max变量
System.out.println("最大值:"+max);
}
public static int getMax(int[] array){
int max = array[0];//先给定一个最大值,假设第一个元素为最大值
for (int i = 0; i < array.length; i++) {//for循环遍历数组元素
if (array[i] > max){//通过if语句来比较值
max = array[i];//把最大值赋值给max变量
}
}
return max;//返回最大值给调用
}
}
2.关键字private也是一种封装
Private关键字的使用
why:定义某些类时,无法阻止不合理的数值被设置进来,所以用private关键字把需要保护的成员变量进行修饰
注意:
1.使用了private进行修饰,只能在本类中使用,不能超出类的范围
2.间接访问private成员变量,就是要定义一对Getter/Setter方法
This关键字的用法
1.当方法的局部变量和类的成员变量重名时,根据"就近原则",优先使用局部变量
2.如果需要访问本类的成员变量,需要使用格式
this.成员变量名(通过谁调用的方法,谁就是this)
构造方法
构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是在调用构造方法。
格式。
public类名称(参数类型参数名称) (
方法体
}
注意事项:
1.构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样
2.构造方法不要写返回值类型,连void都不写
3.构造方法不能return一一个具体的返回值
4.如果没有编写任何构造方法,那么编译器将会默认赠送一个构造方法。 没有参数、方法体什么事情都不做.
5.一旦编写了至少一个构造方法,那么编译器将不再赠送.
6.构造方法也是可以进行重载的。
重载,方法名称相同,参数列表不同。
public class Private01 {
private String name;
private int age;
public Private01() {//无参构造方法
}
public Private01(String name, int age) {//全参构造方法
this.name = name;
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public static void main(String[] args) {
Private01 private01 = new Private01();//无参构造
System.out.println("-----------------");
Private01 private02 = new Private01("张钧甯",26);//全参构造
System.out.println("姓名:"+private02.name+",年龄"+private02.age);
}
}
定义一个标准类
一个标准的类通常要拥有下面四个组成部分:
1.所有的成员变量都要使用private关键字修饰
2.为每一个成员变量编写一对儿Getter/Setter方法
3.编写一个无参数的构造方法
4.编写一个全参数的构造方法
这样的标准类也叫做Java Beam