A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hacker◊紫猫 中级黑马   /  2014-10-2 23:23  /  957 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

基础班学习了一个月多了,感觉了对感念理解的重要性,对于初学者来说对概念的理解非常重要, 前面的概念理解不透彻,就会导致后面的东西理解困难,形成滚雪球的情况,不会的越来越多,所以我来谈谈对private,public,this ,static的理解希望对初学者有帮助。
       对概念的理解,我们不能只止步于就知道这段代码没有错,止步于自己能推出一段程序的的运行结果 这些是远远不够的,我们要做的的程度我理解应该为这段代码为什么这么写,有什么好处,还有其他的  写法吗?而且每个关键字的最实用他的环境是什么。言归正传我来说说这几个关键字的理解
          private和public我们可以理解为一对反义词,他俩不能同时出现在同一个语句中。private意为私有的public  意为公共的,根据字面意思我们可以简单的理解为被private修饰的变量或方法被私有化了,被public修饰的变量或方法被公有化了。先说private的定义。private:是一个关键字,表示私有的意义。可用于修饰成员变量和成员方法。
被它修饰完毕后的内容,在其他类中是不能直接访问的。例如
程序1:
  class Student
                {
                        private String name;
                        private int age;
                        public void setName(String n)
                        {
                                this.name = n;
                        }
                        public String getName()
                        {
                                return name;
                        }               
                }
class Demo
{
        public static void main(String []args)
        {
                Student S=new Studeng();
                S.setName("崔建儒");                     //必须通过调用函数才能对其进行访问。
        }
}
程序2:
class Student
                {
                         String name;
                         int age;                       
                        }
                        public String getName()
                        {
                                return name;
                        }               
                }
class Demo
{
        public static void main(String []args)
        {
                Student S=new Studeng();
                S.name="崔建儒";            //可以直接调用
                S.age=24;                              //可以直接调用
        }
}


           程序1的name1和age1被private修饰了,所以他们是私有的不能被外界所调用,只能通过函数public提供访问函数,在主函数中建立student的对象在调用setname函数才能实现对name1和age1的调用,实现了对私有化变量的保护。不能让外部累随意对其进行调用。而且成员变量只能在方法中进行判断
所以使用private又方便又安全。
            程序2的name2和age2和程序1的setname被public修饰,能直接通过对象进行访问级Student S=new Studeng();s.name2,s.age2能随意对其进行赋值很不安全,
           还有一般在非主函数所在类中,一般成员变量都要被private修饰,而且对外提供访问方法。一般不会用程序2那种写法。
                还有一个private和public的的知识点就是构造函数一定要有private或public修饰,除了默认的构造函数。

评分

参与人数 1技术分 +1 收起 理由
敏敏好学 + 1 赞一个!

查看全部评分

1 个回复

倒序浏览
总结的很好啊!!!    大神你很努力嘛
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马