Java包、权限访问修饰符、封装性
包
概念: 物理上是文件夹;逻辑上是有逻辑关系的类的集合
作用: 避免类重名;控制访问权限
命名规范: 在包名中,可以使用.号来区分包的级别;包名一般情况下是小写
第一级 指该项目的类型,如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包、权限访问修饰符、封装性的更多相关文章
- JAVA 中的权限访问修饰符(public,protected,default,private )
JAVA中有四个权限访问修饰符:public,protected,default,private 注意:这里讲的是对类中属性和方法的访问权限,并不是类的访问权限 1.default:包访问权限 如果什 ...
- 分享知识-快乐自己:java 中的访问修饰符
1):Java中的访问修饰符: Java面向对象的基本思想之一是封装细节并且公开接口.Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限,从而向使用者暴露接口,但隐藏实现细节. 访问控制 ...
- JAVA_SE基础——59.权限访问修饰符
了解了包的概念,就可以系统的介绍Java中的访问控制级别.在Java中,针对类.成员方法和属性提供了四种访问级别,分别是private.default.protected和public. 权限访问修饰 ...
- Java基础——protected访问修饰符探讨
Java基础——protected访问修饰符探讨 根据官方说法:(如图) protected修饰符是可以修饰其他包中的子孙类的,但是我做了个实验,结果发现了一个有趣的现象! 具体请往下看: packa ...
- java的访问控制(包、访问修饰符、修饰符)
一. java的类包 编写好一个源程序后,首先要执行javac命令进行编译源文件,并生成与源文件同名后缀为“.class”的字节码文件(类文件),该类文件与源文件默认在同一个目录中.该类文件是 ...
- JAVA中的访问修饰符和包
一.JAVA访问修饰符 访问修饰符,用来控制类中成员的可见性 有四个访问修饰符,分别是:default,private,public,protected 1.default(默认):默认权限,不用写的 ...
- java四种访问修饰符及各自的权限
1.public,即共有的,是访问权限限制最宽的修饰符.被public修饰的类.属性.及方法不仅可以跨类访问,而且可以跨包访问. 2. protected,即保护访问权限,是介于public和priv ...
- java中的访问修饰符
Java有四种访问权限,其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符.其中package代表缺省的访问权限,具体到代码中就是不写任何修饰符的 ...
- Java继承和访问修饰符
继承 概念:为了提取两个类中公共代码,可以使用继承抽取重复性的代码到一个公共类中,这个公共的类称为父类(super class).继承于父类的类称为子类(sub class). 关键字 ext ...
随机推荐
- 使用vim编程步骤
先用vim 名字.cpp //创建一个.cpp文件进行代码编写 可以调用g++ 名字.cpp的形式进行编译,更好的方法是采用CMakeLists.txt touch CMakeLists.txt // ...
- Autel MaxiSys MS906TS tire pressure settings Lexus LS460h
Use AUTEL MaxiSYS MS906TS error reader to install tire pressure Lexus LS460h in Vung Tau. Make : Lex ...
- robot framework测试驱动无法定位页面元素
robot framework错误提示: [ WARN ] Keyword 'Capture Page Screenshot' could not be run on failure: NoSuchW ...
- sqli-labs:7,导入导出;8-10 延时注入
1,Load_file()导出文件 使用条件: A.必须有权限读取并且文件必须完全可读(and (select count(*) from mysql.user)>0/* 如果结果返回正常,说明 ...
- dedecms首页搜索 添加仿百度下拉框
1:找到uploads/templets/default/head.htm 2: 找到 <input name="q" type="text" clas ...
- Tomcat优化方案
摘自网络: 调优方案分类: 1,外部环境调优 2,自身调优 --------------------------------------------------- 外部环境调优: 1, JAVA虚拟机 ...
- web.xml 详细介绍(zz)
web.xml 详细介绍 博客分类: CoreJava WebXMLServletJSPTomcat http://mianhuaman.iteye.com/blog/1105522 1.启动一个W ...
- Python 语法糖装饰器的应用
Python中的装饰器是你进入Python大门的一道坎,不管你跨不跨过去它都在那里. 为什么需要装饰器 我们假设你的程序实现了say_hello()和say_goodbye()两个函数. def sa ...
- 2016年3月31日_应化所群体Review
Review目的: Phonegap的ble插件可以接收到设备发送的信息,但接收并在控制台显示的数据夏一鸣不知道是正确的数据,还是由于编码解码问题导致的乱码问题.此次Review要解决的问题即判断接收 ...
- mysql中的handler_read_%
mysql> show status like 'handler_read_%'; +-----------------------+-------+ | Variable_name | Val ...