概念: 物理上是文件夹;逻辑上是有逻辑关系的类的集合

  作用: 避免类重名;控制访问权限

  命名规范: 在包名中,可以使用.号来区分包的级别;包名一般情况下是小写

        第一级 指该项目的类型,如com,org,gov等,

        第二级 指项目所开发或者运行的公司名称,如:loyer,huawei等

        第三级 指项目的名称,如:corejava,bcms,oa,erp等

        第四级 指项目模块的名称,如:test,action,exception,chapter01等

        例如com.huawei.erp.test

  导入外部包的类:关键字"import" 例如import com.huawei.erp.test

权限访问修饰符

  Java有四个权限访问修饰符,权限从大到小依次为:

    1)public :公共权限 修饰类、属性、方法:可以被任意类访问

    2)protected:受保护的权限 修饰属性、方法:可以被同包类访问,如果不是同包类,必须是该类的子类才可以访问

    3)default:同包权限(默认权限) 修饰类、属性、方法:只能被同包的类访问

    4)private:私有权限 修饰属性、方法:只能在本类中访问

封装性

  概念:封装性是一种信息隐藏技术

  作用:将对象的全部属性和全部方法结合在一起,形成一个不可分割的独立单位;

     对内部的结构可以自由修改、进行更精确的控制;

     封装的对象便于重复调用、尽可能隐藏对象的内部结构;

代码示例

  1. package summary1;
  2.  
  3. import java.util.Scanner;
  4.  
  5. /*封装性 Encapsulation 计算两个数的商
  6. *此次封装的作用:计算商时被除数不能为零;所以不能直接赋值,需要加一个判断
  7. *由此封装一个类,里面包含赋值和计算的方法,由此来检查输入值是否合法
  8. *如果输入的除数不等于(!=)0,那么可以顺利通过计算输出结果,如果不满足条件的话,则不予赋值,打印提示语句
  9. *备注:在开发中,类中封装之后的属性需要通过get和set访问
  10. */
  11. class Test //创建一个测试类来封装里面的方法和属性
  12. {
  13. protected double m; //受保护的权限访问修饰
  14. protected double n; //可以被同包类访问,如果不是同包类,必须是该类的子类才可以访问
  15. public double getM(int i) //方法返回值是double双精度型
  16. {
  17. return this.m = i; //this引用本类的属性m、将传入的除数i的给其值赋
  18. }
  19. public void getN(int j) //方法返回值是void默认空
  20. {
  21. if(j != 0) //判断被除数的值是否为0
  22. { //如果不等于0
  23. this.n = j; //this引用本类的属性n、将传入的被除数i的给其值赋
  24. double sum = this.m/this.n; //计算m/n的商
  25. System.out.println("商="+sum); //打印输出结果
  26. }
  27. else //否则:如果被除数j==0;
  28. {
  29. System.out.println("除数不能为0"); //不予赋值
  30. }
  31. }
  32. }
  33. public class Encapsulation
  34. {
  35. public static void main(String[] args)
  36. {
  37. Scanner sc = new Scanner(System.in); //实例化Scanner类获取控制台输入
  38. Test t = new Test(); //创建对象
  39. System.out.println("除数:"); //打印提示输入除数值
  40. t.getM(sc.nextInt()); //调用方法传参(控制台输入的除数)
  41. System.out.println("被除数"); //打印提示输入被除数值
  42. t.getN(sc.nextInt()); //调用方法传参(控制台输入的被除数)、并且计算结果
  43. }
  44. }

Java包、权限访问修饰符、封装性的更多相关文章

  1. JAVA 中的权限访问修饰符(public,protected,default,private )

    JAVA中有四个权限访问修饰符:public,protected,default,private 注意:这里讲的是对类中属性和方法的访问权限,并不是类的访问权限 1.default:包访问权限 如果什 ...

  2. 分享知识-快乐自己:java 中的访问修饰符

    1):Java中的访问修饰符: Java面向对象的基本思想之一是封装细节并且公开接口.Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限,从而向使用者暴露接口,但隐藏实现细节. 访问控制 ...

  3. JAVA_SE基础——59.权限访问修饰符

    了解了包的概念,就可以系统的介绍Java中的访问控制级别.在Java中,针对类.成员方法和属性提供了四种访问级别,分别是private.default.protected和public. 权限访问修饰 ...

  4. Java基础——protected访问修饰符探讨

    Java基础——protected访问修饰符探讨 根据官方说法:(如图) protected修饰符是可以修饰其他包中的子孙类的,但是我做了个实验,结果发现了一个有趣的现象! 具体请往下看: packa ...

  5. java的访问控制(包、访问修饰符、修饰符)

    一.     java的类包 编写好一个源程序后,首先要执行javac命令进行编译源文件,并生成与源文件同名后缀为“.class”的字节码文件(类文件),该类文件与源文件默认在同一个目录中.该类文件是 ...

  6. JAVA中的访问修饰符和包

    一.JAVA访问修饰符 访问修饰符,用来控制类中成员的可见性 有四个访问修饰符,分别是:default,private,public,protected 1.default(默认):默认权限,不用写的 ...

  7. java四种访问修饰符及各自的权限

    1.public,即共有的,是访问权限限制最宽的修饰符.被public修饰的类.属性.及方法不仅可以跨类访问,而且可以跨包访问. 2. protected,即保护访问权限,是介于public和priv ...

  8. java中的访问修饰符

    Java有四种访问权限,其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符.其中package代表缺省的访问权限,具体到代码中就是不写任何修饰符的 ...

  9. Java继承和访问修饰符

    继承 概念:为了提取两个类中公共代码,可以使用继承抽取重复性的代码到一个公共类中,这个公共的类称为父类(super class).继承于父类的类称为子类(sub class). 关键字     ext ...

随机推荐

  1. Linux网卡绑定探析

    2013-08-20 15:39:31 现在很多服务器都自带双千兆网口,利用网卡绑定既能增加网络带宽,同时又能做相应的冗余,目前应用于很多的场景.linux操作系统下自带的网卡绑定模式,Linux b ...

  2. Scrapy-Redis分布式策略

    Scrapy-Redis分布式策略 原理图: 假设有四台电脑:Windows 10.Mac OS X.Ubuntu 16.04.CentOS 7.2,任意一台电脑都可以作为 Master端 或 Sla ...

  3. UI设计教程:如何在设计中运用颜色

    灰度优先 我们习惯在设计阶段的早期就开始调整颜色和色调.但是,当你意识到自己花了3个小时来调整主色调的时候,你发现这种行为毫无帮助.虽然把玩颜色很有吸引力,但是你应该避免在设计初期进行这种行为. 相反 ...

  4. soapui groovy脚本汇总

    出处:https://www.jianshu.com/p/ce6f8a1f66f4 一.一些内部元件的访问 testRunner.testCase开头 1.向下访问 testRunner.testCa ...

  5. Python终端彩色字体的输出

    实现过程: 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关. 转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033 ...

  6. syslog系统日志、Windows事件日志监控

  7. 784. Letter Case Permutation

    这个题的思想很重要,两种方法 第一种,回溯法 class Solution { public: int sz; vector<string> letterCasePermutation(s ...

  8. Spring-WebSocket

    WebSocket Sockjs Stoup (消息订阅发布) 添加依赖 <!-- 添加依赖 --> <dependencies> <dependency> < ...

  9. vue 开发系列(二) vue ajax 拦截

    概要说明 在开发的过程中,我们需要通过AJAX请求,访问后台获取数据,这个获取数据的时候,当然需要后台需要时登录状态才能访问数据,当没有登录的情况,这个时候我们需要跳转到登录界面进行登录. 如果每次请 ...

  10. Le Chapitre VII

    Le cinquième jour, toujours grâce au mouton, ce secrèt de la vie du petit prince me fut révélé. Il m ...