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

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

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

        第一级 指该项目的类型,如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:私有权限 修饰属性、方法:只能在本类中访问

封装性

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

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

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

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

代码示例

 package summary1;

 import java.util.Scanner;

 /*封装性 Encapsulation 计算两个数的商
*此次封装的作用:计算商时被除数不能为零;所以不能直接赋值,需要加一个判断
*由此封装一个类,里面包含赋值和计算的方法,由此来检查输入值是否合法
*如果输入的除数不等于(!=)0,那么可以顺利通过计算输出结果,如果不满足条件的话,则不予赋值,打印提示语句
*备注:在开发中,类中封装之后的属性需要通过get和set访问
*/
class Test //创建一个测试类来封装里面的方法和属性
{
protected double m; //受保护的权限访问修饰
protected double n; //可以被同包类访问,如果不是同包类,必须是该类的子类才可以访问
public double getM(int i) //方法返回值是double双精度型
{
return this.m = i; //this引用本类的属性m、将传入的除数i的给其值赋
}
public void getN(int j) //方法返回值是void默认空
{
if(j != 0) //判断被除数的值是否为0
{ //如果不等于0
this.n = j; //this引用本类的属性n、将传入的被除数i的给其值赋
double sum = this.m/this.n; //计算m/n的商
System.out.println("商="+sum); //打印输出结果
}
else //否则:如果被除数j==0;
{
System.out.println("除数不能为0"); //不予赋值
}
}
}
public class Encapsulation
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in); //实例化Scanner类获取控制台输入
Test t = new Test(); //创建对象
System.out.println("除数:"); //打印提示输入除数值
t.getM(sc.nextInt()); //调用方法传参(控制台输入的除数)
System.out.println("被除数"); //打印提示输入被除数值
t.getN(sc.nextInt()); //调用方法传参(控制台输入的被除数)、并且计算结果
}
}

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惊群效应详解

    Linux惊群效应详解(最详细的了吧)   linux惊群效应 详细的介绍什么是惊群,惊群在线程和进程中的具体表现,惊群的系统消耗和惊群的处理方法. 1.惊群效应是什么?        惊群效应也有人 ...

  2. js 闭包 理解 copy

    闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 下面就是我的学习笔记,对于Javascript初学者应该是很有用的. 一.变量的作用域 要理解 ...

  3. java读取properties文件时候要注意的地方

    java读取properties文件时,一定要注意properties里面后面出现的空格! 比如:filepath = /home/cps/ 我找了半天,系统一直提示,没有这个路径,可是确实是存在的, ...

  4. nodejs buffer 内存泄漏问题

    摘自<Node.js 高级编程> var buffer = new Buffer("this is the content of my buffer"); var sm ...

  5. Delphi XE2有什么新功能

    具体内容见PDF Delphi XE2有什么新功能Delphi XE2提供(offers)了令人兴奋(exciting)的新功能,让您能够建立高度可视化的,在Windows,Mac和iOS上的业务应用 ...

  6. SPring中quartz的配置(可以用实现邮件定时发送,任务定时执行,网站定时更新等)

    http://www.cnblogs.com/kay/archive/2007/11/02/947372.html 邮件或任务多次发送或执行的问题: 1.<property name=" ...

  7. linux- Fedora25 下 解决anacondas3 与ibus冲突问题

    问题:当我们安装了anaconda3之后,会发现ibus-setup进不去. 原因: 是因为ibus-setup的python应该使用python2. 而当我们安装了anaconda3之后,调用pyt ...

  8. Vue 使用中的小技巧

    在vue的使用过程中会遇到各种场景,当普通使用时觉得没什么,但是或许优化一下可以更高效更优美的进行开发.下面有一些我在日常开发的时候用到的小技巧,在下将不定期更新~ 1.多图表resize事件去中心化 ...

  9. connect: Address is invalid on local machine or port is not valid on remote

    idea 运行正常打成jar包运行提示“connect: Address is invalid on local machine or port is not valid on remote” , 解 ...

  10. Vue 汇总

    1.右键菜单(防止默认行为) @contextmenu.native.prevent="rightClick()"