这里简述一下使用private的场景
1.一个对象内的成员变量进行相应操作
class myMath{// 用private实现加减乘除 private int num1;//定义完这个封装的num1进行setter and getter的到get和set public int getNum1(int i) {//从set处获取num1 的值 return num1; } public void setNum1(int num1) { this.num1 = num1; } private int num2; public int getNum2(int i) { return num2; } public void setNum2(int num2) { this.num2 = num2; } public int add(){ return num1+num2; } public int Subtraction(){ return num1-num2; } public int Chu(){ return num1/num2; } public int Cheng(){ return num1*num2; } } public class Text { public static void main(String[] args) { myMath Mymath=new myMath();//设置一个对象,即可单个对象在类中的成员进行操作 Mymath.setNum1(10);//set赋值进入 Mymath.setNum2(5); System.out.println(Mymath.add());// 都是对象实现类的方法,所以为: 对象名 . 方法名(); }
2.多个对象的相应成员的交换,这里就要借助方法(函数)来解决
class myChange{ public int num;//定义了一个对象 } public class Text { public static void exChange(myChange num1,myChange num2){//把引用变量传入,将引用后的成员变量进行操作(交换) int change=num1.num;//直接对对象相应的成员变量操作 num1.num=num2.num; num2.num=change; } public static void main(String[] args) { myChange num1=new myChange(); myChange num2 =new myChange(); num1.num=10;//对引用变量赋值 num2.num=11; exChange(num1,num2);//直接对 对象 进行交换 System.out.println(num1.num);//输出对象 System.out.println(num2.num); }
当封装了这一个类中的num
class ownChange{ private int num; public int getNum() { return num; } public int setNum(int num) { this.num = num; return num; } } public class Main { public static void exChange(ownChange num1,ownChange num2){ int change=num1.setNum(num1.getNum());//设置num1的值为num1接收到的值 num1.setNum(num2.getNum());//相当于设置num1的值为num2的接收到的值 num2.setNum(change);//这里就是将num2的值设置为change,相当于num2=change } public static void main(String[] args) { ownChange num1=new ownChange(); num1.setNum(15); ownChange num2=new ownChange(); num2.setNum(12); exChange(num1,num2); System.out.println(num1.getNum());//打印最后接收到的值 System.out.println(num2.getNum()); } }