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

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

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

        第一级 指该项目的类型,如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. Materix3*3

    ][],][],][]) { ;i<;i++) { ;j<;j++) { res[i][j]= aa[i][] * bb[][j] + aa[i][] *bb[][j] + aa[i][] ...

  2. MFC 一个无参线程的CreateThread 使用

    最近想把c#的一个工作中用到的软件用MFC 实现出来, 刚下手 要了解的东西挺多,不但要对c++的语法,大体看一遍. 还要看MFC 内一些窗体,之类的相关的定义,比如cpp ,.h 内的类的定义方式等 ...

  3. js数据类型和变量

    Number JavaScript不区分整数和浮点数,统一用Number表示: 123 0.345 -99 NaN 当无法计算结果时用NaN表示 Infinity 表示无限大,当数值超过js的Numb ...

  4. 自适应手机网站meta name代码

    <meta name="viewport" content="width=device-width,initial-scale=1.0">   co ...

  5. C# 切换到二级域名,使用Cookie

    之前的网站一直用的是一级域名,现因为其他原因,需要使用一个二级域名访问,原先的域名不用了. 使用二级域名后,发现Cookie一直取不到,分析代码发现,原来是需要在设置cookie的时候,把二级域名加上 ...

  6. VS2010错误

    1.用VS2010生成C++程序时,链接器工具错误 LNK1123: fatal error LNK1123: failure during conversion to COFF: file inva ...

  7. python 正则表达式 group() groups()

    参考地址: http://www.cnblogs.com/kaituorensheng/archive/2012/08/20/2648209.html

  8. js--延时消失的菜单--(笔记)

    html:有4个li,li下分别有一个span <script>   window.onload=function(){    var aLi=document.getElementsBy ...

  9. Django 创建一个应用程序

    1. 认识Django Django是一个高级的Python Web框架,它鼓励快速开发和清洁,务实的设计. 由经验丰富的开发人员构建,它负责Web开发的许多麻烦,因此您可以专注于编写应用程序,而无需 ...

  10. jvm运行机制和volatile关键字详解

    参考https://www.cnblogs.com/dolphin0520/p/3920373.html JVM启动流程 1.java虚拟机启动的命令是通过java +xxx(类名,这个类中要有mai ...