Java的封装及private的使用和练习
程序员文章站
2022-04-20 08:08:37
Java封装封装性在Java当中的体现:1.方法就是一种封装2.关键字private也是一种封装封装就是将一些细节信息.隐藏起来,对于外界不可见。public class Method { public static void main(String[] args) { int[] array ={1,2,3,4,5,100}; int max = getMax(array); System.out.println("最大值:"+max)...
Java封装
封装性在Java当中的体现:
1.方法就是一种封装
2.关键字private也是一种封装
封装就是将一些细节信息.隐藏起来,对于外界不可见。
public class Method {
public static void main(String[] args) {
int[] array ={1,2,3,4,5,100};
int max = getMax(array);
System.out.println("最大值:"+max);
}
//给我一个数组,我换给你一个最大值
//以下为定义一个方法
public static int getMax(int[] array){
int max = array[0];
for (int i = 1; i<array.length; i++){
if(array[i]>max){
max = array[i];
}
}
return max;
}
}
private关键字的作用及使用
其目的是可以提高代码的安全性。目前就这么理解
问题描述:定义Person的年龄时,无法阻止不合理的数值被设置进来。
解决方案:用private关键字将需要保护的成员变量进行修饰。
一旦使用了private进行修饰,那么本类当中仍然可以随意访问。
但是!超出了本类范围之外就不能再直接访问了。
间接访问private成员变量,就是定义一对Getter/Setter方法
必须叫setXxx或者是getXxx命名规则。
对于Getter来说,不能有参数,返回值类型和成员变量对应;
对于setter来说,不能有返回值,参数类型和成员变量对应。
我们先来定义一个Person类
package Day1128;
public class Person {
String name;//姓名
private int age;//年龄
public void show(){
System.out.println("我是:"+ name +",年龄:"+ age);
}
//这个成员方法,专门用于向age设置数据
public void setAge(int num) {
if(num < 100 && num >= 9){ //如果条件合理
//别忘了,&&是并且的意思同时满足条件,多多记吧!
age = num;
} else {
System.out.println("数据错误!!!");
}
}
//这个成员方法,专门用于获取age的数据
public int getAge(){
return age;
}
}
我们再来创建一个对象
package Day1128;
public class D3Person {
public static void main(String[] args) {
Person person = new Person();
person.show();
person.name ="康康";
// person.age =-20;//直接访问private内容,是错误的写法!
//要间接访问哦!
// person.setAge(-20);//因为在类中设置了,所以显示会为0
person.setAge(20);
person.show();
}
}
为了怕忘记,我再来发发图看看
最后一关,让我们来做做练习吧
和上面一样,先定义一个类
对于基本类型当中的booLean值,Getter方法一定要写成isXxx的形式,而setXxx规则不变。
get拿进来,set放进去,记住就好了
package Day1128;
public class Student { //定义一个student类
private String name; //姓名
private int age; //年龄
private boolean male; //是不是帅哥
//要注意了,这个set不要写错了,我有时会打错字,这就要用心了!!
public void setMale (boolean b){
male = b;
}
public boolean isMale(){
return male;
}
public void setName(String str){
name = str;
}
public String getName() {
return name;
}
public void setAge(int num){
age = num;
}
public int getAge(){
return age;
}
}
然后再创建一个对象来执行
package Day1128;
public class D3Person {
public static void main(String[] args) {
Person person = new Person();
person.show();
person.name ="康康";
// person.age =-20;//直接访问private内容,是错误的写法!
//要间接访问哦!
// person.setAge(-20);//因为在类中设置了,所以显示会为0
person.setAge(20);
person.show();
}
}
本文地址:https://blog.csdn.net/weixin_47894020/article/details/110287248