JAVA07
文章目录
一、封装
1.private关键字
private是一个修饰符,可以用来修饰成员(成员变量,成员方法)
被private修饰的成员,只能在本类进行访问,针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作 |
---|
提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰 |
提供“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰 |
代码如下(示例):
package array;
public class Demo03Person {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person Person=new Person();
Person.setAge(25);
Person.getName("LJY");
Person.setMale(false);
Person.show();
if(Person.isMale()==true) {
System.out.println("男孩子");
}
else {
System.out.println("女孩子");
}
}
}
代码如下(示例):
package array;
public class Person {
private String name;
private double age;
private boolean male;
public void setMale(boolean boy) {
male=boy;
}
public boolean isMale() {
return male;
}
public void setAge(double num) {
if(num<200 && num>0) {
age=num;
}else {
System.out.println("数据错误");
}
}
public double getAge() {
return age;
}
public void getName(String who) {
name=who;
}
public String getName() {
return name;
}
public void show() {
System.out.println("我叫:"+name+",年龄:"+age);
}
}
2. this关键字
this修饰的变量用于指代成员变量,其主要作用是(区*部变量和成员变量的重名问题)
方法的形参如果与成员变量同名,不带this修饰的变量指的是形参,而不是成员变量 |
方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量 |
this代表当前调用方法的引用,哪个对象调用的方法,this就代表哪一个对象
代码如下(示例):
package array;
public class student {
private String name;
private double age;
private boolean male;
public void setMale(boolean boy) {
male=boy;
}
public boolean isMale() {
return male;
}
public void setAge(double num) {
if(num<200 && num>0) {
age=num;
}else {
System.out.println("数据错误");
}
}
public double setAge() {
return age;
}
public void setName(String name) {
this.name=name;
}
public String setName() {
return name;
}
public void show() {
System.out.println("我叫:"+name+",年龄:"+age);
}
}
代码如下(示例):
package array;
public class Demo04Student {
public static void main(String[] args) {
// TODO Auto-generated method stub
student student1=new student();
student1.setAge(19);
student1.setName("LJY");
student1.show();
System.out.println("===================");
student student2=new student();
student1.setAge(18);
student1.setName("刘德华");
student1.show();
student2.show();
}
}
3.封装
- 封装概述是面向对象三大特征之一(封装,继承,多态)是面向对象编程语言对客观世界的模拟,客观世界
里成员变量都是隐藏在对象内部的,外界是无法直接操作的 - 封装原则将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏
信息的操作和访问成员变量private,提供对应的getXxx()/setXxx()方法 - 封装好处通过方法来控制成员变量的操作,提高了代码的安全性把代码用方法进行封装,提高了代码的复用
性
小练
代码如下(示例):
package array;
public class demo01 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int age1=20;
test01 var1=new test01();
var1.methodA();
var1.name="LJY";
var1.age=18;
var1.methodA();
System.out.println("===================");
var1.methodA();
var1.name="彭于晏";
var1.age=18;
System.out.println(var1.name);
System.out.println(var1.age);
System.out.println("===================");
}
}
package array;
public class test01 {
String name;
double age;
public void methodA() {
int age2=65;
System.out.println(name);
System.out.println(age);
System.out.println(age2);
}
}
代码如下(示例):
package array;
public class Demo02Method {
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;
}
}
package array;
public class Demo02MethodUse {
public static void main(String[] args) {
// TODO Auto-generated method stub
int [] array = {5,10,125,15,500,205};
int max = Demo02Method.getMax(array);
System.out.println("最大值:"+max);
}
}