包
概念: 物理上是文件夹;逻辑上是有逻辑关系的类的集合
作用: 避免类重名;控制访问权限
命名规范: 在包名中,可以使用.号来区分包的级别;包名一般情况下是小写
第一级 指该项目的类型,如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 }
浙公网安备 33010602011771号