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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xiongfangyuan 中级黑马   /  2015-6-19 23:21  /  398 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

示例:
/*
人:
属性:年龄
行为:说话
*/
class Person{
       //private:私有,是一个权限修饰符,用于修饰
       //不希望别人直接访问赋值,需要通过私有化把属性进行隐藏
       private int age ;

       //通过提供set、get公共方法对其访问
       public void setAge( int a){
             //在set方法内可以对属性的赋值进行限制
             if (a > 0 && a < 130){
                   age = a;
            } else
                  System.out .println("错误的数据" );
      }

       public int getAge(){
             return age ;
      }

       void speak(){
            System.out .println("age = " + age);
      }
}

class PersonDemo{
       public static void main(String[] args){
            Person p = new Person();
            //通过其他方式访问
            p.setAge(20);
            p.speak();
            //赋值不合法,set方法就不允许成功赋值
            p.setAge(-20);
      }
}
复制代码
   运行结果:



    P.S.
    1、私有仅仅是封装的一种体现而已。
    2、private关键字:是一个权限修饰符,用于修饰成员(成员变量和成员函数),被私有化的成员只在本类中有效。
    3、常用场景之一:将成员变量私有化,对外提供对应的set、get方法对其进行访问,提高对数据访问的安全性。
什么使用静态?

要从两方面下手:
因为静态修饰的内容有成员变量和函数。
什么时候定义静态变量(类变量)呢?
当对象中出现共享数据时,该数据被静态所修饰。
对象中的特有数据要定义成非静态存在于堆内存中。



什么时候定义静态函数呢?

当功能内部没有访问到肺静态数据(对象的特有数据),
那么该功能可以定义成静态的。

*/
class Person
{
        String name;
        static String country = "cn";
        public  static void show()
        {
                System.out.println(contry+"haha");       
        }

}


class  
{
        public static void main(String[] args)
        {
                Person p = new Person();
                p.show();
                //Person .show();
        }

}

1 个回复

倒序浏览
不错!学习了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马