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