封装性

目录

封装性在Java中的体现

  1. 方法就是一种封装
  2. private关键字也是一种封装

方法封装

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
//封装就是将一些细节隐藏起来,对外界不可见
public class DemoMethod(){
  public static void main(String[] args){
    int[] array = {0,30,9,40,100};
    int max = getMax(array);
    System.out.println("The max number is"+max);
  }
  
  public static int getMax(int[] array){
    int max = array[0];
    for(int i = 0; i<array.length;i++){
      max = array[i];
    }
    return max;
  }
}

private用法

问题描述:定义Peason年龄时,无法阻止不可理数值设置进来

解决方法:用private关键字将需要保护的成员修饰

使用private后本类可访问,但是!超出本类之后不可直接访问

必须要getXXX,setXXX

对于getter,无参数,返回值和成员变量对应

对于setter,无返回值参数类型和成员变量对应

1
2
3
4
5
6
7
public class Peason{
  String name;
  int age;
  public void show(){
    System.out.println("My name is"+name="and my age is"+age);
  }
}
1
2
3
4
5
6
public class DemoPeason{
	Peason one = new Peason();
  one.name = "🦙"
  one.age = "-90";//不合常理
  one.show();
}

解决方法

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
public class Peason{
  String name;
  private int age;
  public void show(){
    System.out.println("My name is"+name="and my age is"+age);
  }
  
  public void setAge(int num){
    if(num>0&&num<300)
      age = num;
    else
      System.out.println("参数不正确");
  }
  
  public int getAge(){
    return age;
  }
}
1
2
3
4
5
6
7
public class DemoPeason{
	Peason one = new Peason();
  one.name = "🦙"
  //one.age = "-90";//不可访问
  one.setAge(20);
  one.show();
}

boolean特例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
public class Peason{
  private boolean male;
  
  public setMale(boolean b){
    male = b;
  }
  
  public isMale(){
    return male;
  }
  
}