使用注意事项:
1.修饰符可以用来修饰类中的属性,成员方法以及类
2.只有默认的和public才能修饰类,并且遵循上述访问权限的特点
3.因为没有学习继承,因此关于在子类中的访问权限
4.成员方法的访问规则和属性完全一样。
实现封装的步骤(三步)
1.将属性进行私有化private(不能直接修改属性)
2.提供一个公共的(public)set的方法,用于对属性判断并赋值
public void setXxxx(类型 参数名){Xx代表某个属性
//加入数据验证的业务逻辑
属性 = 参数名
}
3.提供一个公共的(public)get方法,用于获取属性的值
public数据类型getXxx(){
权限判断,Xxx某个属性
return xx;
}
案列如下:
1 package com.test; 2 3 public class Demo01 { 4 public static void main(String[] args) { 5 Person can = new Person(); 6 can.setName("mark"); 7 can.setAge(26); 8 can.setSal(150000); 9 System.out.println(can.Info()); 10 } 11 } 12 /* 13 不能随便查看别人的年龄,工资等隐私,并对设置的年龄进行合理的验证, 14 年龄合理设置,否则给默认年龄,必须在1-120,工资不能直接查看,name的长度在2到6的字节之间 15 */ 16 class Person{ 17 public String name; //名字公共 18 private int age; //名字私有化,其他类不能访问,需要应set和get 19 private double sal;//工资私有化,其他类不能访问,需要应set和get 20 //使用Alt+Insert 21 public String getName() { 22 return name; 23 } 24 public void setName(String name) { 25 this.name = name; 26 } 27 28 public int getAge() { 29 return age; 30 } 31 public void setAge(int age) { 32 this.age = age; 33 } 34 35 public double getSal() { 36 return sal; 37 } 38 public void setSal(double sal) { 39 this.sal = sal; 40 } 41 //写一个方法,返回相应的信息 42 public String Info(){ 43 return "名字name="+name+"\t"+"年龄age="+age+"\t"+"工资sal"+sal; 44 } 45 }