黑马程序员技术交流社区

标题: 封装private一点记录 [打印本页]

作者: jaunce    时间: 2015-8-22 22:27
标题: 封装private一点记录
/*
        封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式
        即使你写了方法,别人还是能通过对象.方法访问到,这时Java就提供了一个private修饰符让数据私有

        private:私有的意思。可以修饰成员变量和成员方法
        被private修饰的成员变量和方法,其他类中是不能直接访问的。
        若要使用private修饰的成员变量和方法,需从本类的其他方法中调用。
        也可以通过set/get方法获取
        private仅仅是封装的一种体现。因为类,函数等其实也是一个封装的体现
*/
class Private
{
        private String name;
        private int age;
        private int x=10;
        //无参构造
        public Private(){}
        private void show()
        {
                System.out.println("x="+x);
        }
        public void method(Private p)
        {
                p.show();
        }
        //有参构造
        public Private(String name,int age)
        {
                this.name=name;
                this.age=age;
        }
        public void setName(String name)
        {
                this.name=name;
        }
        public String getName()
        {
                return name;
        }
        public void setAge(int age)
        {
                this.age=age;
        }
        public int getAge()
        {
                return age;
        }
        public void show1()
        {
                System.out.println(name+"----"+age);
        }
}
class PrivateDemo
{
        public static void main(String[] args)
        {
                //无参构造  通过本类其他方法调用访问
                Private p=new Private();
                p.method(new Private());

                //有参构造,通过set/get方法访问private修饰的成员变量和成员方法
                //无参构造函数
                Private p1=new Private();
                p1.setName("小张");
                p1.setAge(20);
                p1.show1();
                p1.method(new Private());
                //有参构造函数直接new出有参对象后,对象.方法名即可
                Private p2=new Private("小刘",10);
                p2.show1();       
               
               
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2