Java包、权限访问修饰符、封装性

2023-04-24,,

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

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

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

        第一级 指该项目的类型,如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包、权限访问修饰符、封装性.doc》

下载本文的Word格式文档,以方便收藏与打印。