封装数据的隐藏
通常,应禁止直接访问一个对象中的数据的实际表示,而应通过操作接口来访问,这种称为信息隐藏
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修改数据或给数据进行赋值
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