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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大牛1 中级黑马   /  2016-5-29 21:09  /  4186 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

private关键字的概述和特点:
  1. /*
  2.         private:
  3.                 是一个权限修饰符
  4.                 可以修饰成员变量和成员方法
  5.                 被其修饰的成员只能在本类中被访问
  6. */
  7. class Demo {
  8.         //int num = 10;
  9.         //用private修饰
  10.         private int num = 10;
  11.        
  12.         public void show() {
  13.                 System.out.println(num);
  14.         }
  15.        
  16.         private void method() {
  17.                 System.out.println("method");
  18.         }
  19.        
  20.         public void function() {
  21.                 method();
  22.         }
  23. }

  24. class PrivateDemo {
  25.         public static void main(String[] args) {
  26.                 Demo d = new Demo();
  27.                 //不能方法私有的成员变量
  28.                 //System.out.println(d.num);
  29.                 d.show();
  30.                 //不能访问私有的成员方法
  31.                 //d.method();
  32.                 d.function();
  33.         }
  34. }

复制代码
  1. /*
  2.         封装和private的应用:
  3.                 A:把成员变量用private修饰
  4.                 B:提供对应的getXxx()和setXxx()方法
  5. */
  6. //定义学生类
  7. class Student {
  8.         //姓名
  9.         private String name;
  10.         //年龄
  11.         private int age;
  12.        
  13.         //姓名获取值
  14.         public String getName() {
  15.                 return name;
  16.         }
  17.        
  18.         //姓名设置值
  19.         public void setName(String n) {
  20.                 name = n;
  21.         }
  22.        
  23.         //年龄获取值
  24.         public int getAge() {
  25.                 return age;
  26.         }
  27.        
  28.         //年龄赋值
  29.         public void setAge(int a) {
  30.                 age = a;
  31.         }
  32. }

  33. //测试类
  34. class StudentTest {
  35.         public static void main(String[] args) {
  36.                 //创建学生对象
  37.                 Student s = new Student();
  38.                
  39.                 //使用成员变量
  40.                 //错误:被私有修饰了,外界不能直接访问了
  41.                 //System.out.println(s.name+"---"+s.age);
  42.                 System.out.println(s.getName()+"---"+s.getAge());
  43.                
  44.                 //给成员变量赋值
  45.                 //s.name = "林青霞";
  46.                 //s.age = 27;
  47.                 //通过方法给赋值
  48.                 s.setName("林青霞");
  49.                 s.setAge(27);
  50.                 System.out.println(s.getName()+"---"+s.getAge());
  51.         }
  52. }
复制代码



12 个回复

倒序浏览
顶一个!
回复 使用道具 举报

希望可以帮到你,共同努力
回复 使用道具 举报
给力哦!
回复 使用道具 举报
是一个权限修饰符
                可以修饰成员变量和成员方法
                被其修饰的成员只能在本类中被访问
回复 使用道具 举报
不错,赞一个
回复 使用道具 举报
private:是一个权限修饰符,  可以修饰成员变量和成员方法,被其修饰的成员只能在本类中被访问
回复 使用道具 举报
恩, 是的捏。封装的一种表现形式哦
回复 使用道具 举报
是修饰符
回复 使用道具 举报

哈哈,共同进步
回复 使用道具 举报

哈哈,共同进步
回复 使用道具 举报
private意思是私有的,对于私有他可以修饰成员变量,成员方法,局部变量,局部方法,构造方法等,private和protect,public和默认是四种权限修饰符
回复 使用道具 举报
wy123580 发表于 2016-6-1 20:21
private意思是私有的,对于私有他可以修饰成员变量,成员方法,局部变量,局部方法,构造方法等,private和 ...

兄台,引入private的目的是为了实现类的封装。private只能用来修饰成员变量、成员方法。不能用来修饰局部变量。更没有局部方法这种东西。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马