Java从零开始学十四(包和访问控制)
一、java中的包
Java文件的组织形式Windows中的文件功能类似
在开发比较大的项目时,不可能只涉及到一个java文件,可能要创建几十,甚至几百个java文件,这个时候,我们就可以使用包,把相关的java文件放在一起,利用包来方便,快捷,有效的管理这些文件
包的引入还可以避免命名冲突的问题,不同包下的类名可以同名
二、定义包
package 包名
这条语句必须放在java源程序的第一行,前面不能有任何可执行代码,当然注释除外
包可以创建多层次的,不同层次之间用点(.)隔开和windows中的多层文件功能一样
定义包:多层次
package 包名1.包名2.包名3......
包名之间用的是"."号隔开
eclipse中创建包:
三、导入包
import 包名.类名
如:建立类
package com.pb.person; //包名 public class Person { private String name; //姓名 private String sex; //性别 private int age;//年龄 //设置getter和setter方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { if(sex.equals("男") || sex.equals("女")){ //设置性别限制,不合法的值将提示错误 this.sex = sex; }else{ System.out.println("性别不合法,性别只能是:男或者女"); } } public int getAge() { return age; } public void setAge(int age) { if(age>0 && age<=150){ //设置年龄限制 this.age = age; }else{ System.out.println("年龄只能在1-150岁之间"); } } public Person() { this.name = "无名氏"; this.sex = "男"; this.age = 22; } public Person(String name, String sex, int age) { this.name = name; this.sex = sex; this.age = age; } public void say(){ System.out.println("自我介绍:"); System.out.println("姓名:"+this.name); System.out.println("性别:"+this.sex); System.out.println("年龄:"+this.age); } }
package com.pb.person; //包名
在另一个包中建立测试类
package com.pb.persontest; //导入Person类,import 包名.类名 import com.pb.person.Person; public class PersonTest { public static void main(String[] args) { Person person=new Person(); person.setName("韩冰"); //传入不合法的值 person.setSex("中性"); //传入不合法的值 person.setAge(200); //调用普通方法输出 person.say(); } }
快捷键Ctrl+Shift+O导入包
四、常用包
java.lang包:包含Java程序语言的基础类,这个包不需要导入就可以使用如String类
java.until包:包含各种使用的工具类
java.io包:包含各种输入,值输出相关功能的类
java.sql包:包含对数据库的操作相关类
五、访问控制
5.1、类的访问控制
类的访问修饰符:
- public修饰符:公有访问级别,其它包中的类可以访问这个类
- 默认修饰符:包的私有访问级别,只能同一包下的类才可以访问这个类,其它包下的类不可以访问这个类
5.2、类成员的访问控制