《 封 装 》
封装:1.修饰符:public , defalut , private
2.包:package
1.修饰符:public为公共,所有人都可以访问。
default为默认.
private为私有,只有当前类可以访问。
权限大小:public > defalut > private 。
private:所有类中的属性(定义变量),都需要进行private封装,防止被修改或者用来过滤一些非法不安全的赋值。private封装1个属性需要提供两个对应的方法供其他类里进行赋值(set),取值(get)等操作。
********************************************************************************
赋值方法: private int number ;
public void setNumber(int number){
this.number = number ;
}
取值方法:public int getNumber(){
return number ;
}
*********************************************************************************
2.包
package:用于封装类,把类按照要求打包放到对应的文件夹中。package必须放在类的第一行!
*********************************************************************************
package com.shellinghome.users //打包时使用域名倒置方法
public class Person{ //倒置域名+包名
}
*********************************************************************************
使用编译命令:javac -d {目录名称--指定放置类文件的位置} 类名.java;
如上面:javac -d classes Person.java;
则会在当前目录下生成classes-->com-->shellinghome-->users文件夹,Person.class则会在该目录下。
通过以上代码即可把Person类(Person.class)打包到com-->shellinghome-->users文件夹下。
使用运行命令:java 包名.类名;
如上:java com.shellinghome.users.Person; //此处需要进入classes文件夹后运行命令;
或者:java -classpath classes com.shellinghome.users.Person;
//此处配置了classpath的值为classes,所以jvm虚拟机会默认到classes文件夹里寻找com-->shellinghome-->users-->Person.class。
通常一个java程序会创建两个文件夹src和classes,src用来放置源文件(.java文件),classes用来放置类文件(.class文件)。所以就会经常用到如下命令:
编译:javac -encoding utf-8 -d classes src/*.java;
运行:java -classpath classes com.shellinghome.users.Person;
import:如果多个类中的多个私有变量(private int a)互相调用,且需要把这些类打包到不同的文件夹,则需要用到import命令来导入该类中所有被引用的变量所在的类,否则私有变量所在的类在不同文件夹中无法互相调用。 如下图: