java全栈系列之JavaSE-面向对象(创建对象内存分析)034

封装数据的隐藏

通常,应禁止直接访问一个对象中的数据的实际表示,而应通过操作接口来访问,这种称为信息隐藏

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

上一篇:2021-08-07


下一篇:2.如何实现使用VBS脚本程序对直播间自动评论