一、JAVA中的封装:
1.代码如下:
示例:
package 面向对象的封装;
import com.sun.security.jgss.GSSUtil;
public class 面向对象的封装性 {
String name;
private int age;
public void show(){
System.out.println("我叫:"+name+",年龄:"+age);
}
public void setAge(int num){ //把数据往里放
if (num<=100&&num>0){
age=num;
}else{
System.out.println("输入的数字有误!");
}
}
public int getAge(){ //把数据往外拿
return age;
}
// this关键字的作用
/*
当方法的局部变量和类的成员变量重名时,根据就近原则,优先使用局部变量
如果需要访问本类当中的成员变量,需要使用以下格式: this.成员变量名
通过谁调用的方法,谁就是this.
*/
String mingzi;
public void sayhello(String who){
System.out.println(who+",你好。我是"+this.mingzi);
System.out.println(this);
}
// 方法的封装
public static void main(String[] args) {
System.out.println("=================================");
int[] shuzu1={10,20,40,30,39,65};
int max=shuzu2(shuzu1);
System.out.println(max);
}
public static int shuzu2(int[] shuzu1){
int max=shuzu1[0];
for (int i = 1; i < shuzu1.length; i++) {
if (shuzu1[i]>max)
{
max=shuzu1[i];
}
}
return max;
}
}
=================================================================
package 面向对象的封装;
import 面向对象的封装.面向对象的封装性;
public class 面向对象的封装性1 {
public static void main(String[] args) {
面向对象的封装性 fengzhuang=new 面向对象的封装性();
fengzhuang.show();
fengzhuang.name="李华";
fengzhuang.setAge(-10);
fengzhuang.show();
System.out.println("=======================");
面向对象的封装性 person =new 面向对象的封装性();
person.mingzi="王思聪";
person.sayhello("王健林");
System.out.println(person);
}
}
2.运行结果:
示例:
=================================
65
总结:
提示:这里对文章进行总结:
面向对象的三大特征: 封装 继承.继承 多态.多态
封装性在Java当中的体现:
1.方法就是一种封装
2.关键字private也是一种封装
问题描述:定义年龄时,无法阻止不合理的数值被设置
解决方案:用private关键字将需要保护的成员变量进行修饰
注意:
一旦使用了private进行修饰,那么本类当中仍然可以随意访问,但是超出本类范围就不能直接访问,可以间接访问。
间接访问private成员变量,定义一对getter/setter方法
必须叫setX(大写)xx/getXxx的命名规则
对于getter来说:不能有参数,返回值类型和成员变量对应
对于setter来说:不能有返回值,参数类型和成员变量相对应
技术交流Q群:832552317