封装数据的隐藏
通常,应禁止直接访问一个对象中的数据的实际表示,而应通过操作接口来访问,这种称为信息隐藏
public修饰符
在类和方法之间定义public属性
public class Demo04 {
public int int1; //定义public公有属性
public static void main(String[] args) {
}
}
在其他类里面调用public属性
class demo{
public void demo(){
Demo04 D=new Demo04(); //实例化对象
System.out.println(D.int1); //输出
}
}
public是所有的class和方法都可以使用,所有用户都可以进行调用
private修饰符
public class Demo05 {
private String name;
public static void main(String[] args) {
System.out.println(name);
}
}
当属性使用private修饰符进行修饰的时候,则该属性只能被当前的class进行使用,并且在使用的时候需要通过get/set方法进行使用
package Test_Demo3;
public class Demo04 {
private String Name; //定义私有方法,仅当前类可以访问
private int Age; //定义私有方法,仅当前类可以访问
public int in; //定义公共方法,所有类都可以访问
public static void main(String[] args) {
Demo04 D= new Demo04(); //实例化对象
D.getAge(); //调用Demo04类下的getAge方法
D.getName(); //调用Demo04类下的getName方法
D.Name="哈哈哈"; //对Demo04方法进行赋值
D.Age=123; //对Demo04方法进行赋值
}
public String getName(){ //定义getName方法进行属性的使用
Name="许志滨";
System.out.println(Name);
return Name;
}
public int getAge(){ //定义getAge方法进行属性的使用
Age=19;
System.out.println(Age);
return Age;
}
}
执行结果:
19
许志滨
static
属性私有:get/set
get获得数据,set修改数据或给数据进行赋值
package Test_Demo3;
import Application.Demo001;
public class Demo06 {
private String Name;
private int Age;
public static void main(String[] args) {
//若要对private修饰的属性进行修改需要使用get/set方法
Demo06 D=new Demo06();
D.getName();
D.setName();
D.getAge();
D.setAge();
}
public String getName(){
this.Name="许志滨";
System.out.println(this.Name);
return this.Name;
}
public void setName(){
this.Name="许小滨";
System.out.println(this.Name);
}
public int getAge(){
this.Age=19;
System.out.println(this.Age);
return this.Age;
}
public void setAge(){
this.Age=20;
System.out.println(this.Age);
}
}
执行结果:
许志滨
许小滨
19
20