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、类成员的访问控制

Java从零开始学十四(包和访问控制)的更多相关文章
- Java从零开始学十五(继承)
一.继承作用 继承使用复用以前的代码非常容易,能够大大的缩短开发周期,降低开发成本,同时增加程序的易维护性 继承使重一个类A能够直接使用另外一个类B的属性和方法的一种途径 类A可以有自己的属性和方法 ...
- Java从零开始学十九(异常)
一.什么是异常 从字面上讲,就是不正常的现实就是异常. 程序中的异常也是要在程序运行中才会偶尔发生.如果程序还没有运行,编译就报错,这种不叫异常,这种叫编译错误,通常是语法上的错误 二.java中异常 ...
- Java从零开始学十八(抽象类和接口)
一.什么是抽象类和接口 抽象类.接口与类是一个层次的概念,是java中极其重要的概念. 抽象类是从多个类中抽象出来的公共模板,提供子类均具有的功能. 接口是从多个类中抽象出来的规范,体现的是规范和实现 ...
- Java从零开始学十六(多态)
一.什么是多态 多态性是指允许不同类的对象对同一消息作出响应.多态性包括参数化多态性和包含多态性.多态性语言具有灵活.抽象.行为共享.代码共享的优势,很好的解决了应用程序函数同名问题.多态有两种表现形 ...
- Java从零开始学十二(构造方法)
一.构造方法 构造方法的主要目的是为类中的属性初始化 二.构造方法的定义格式 class 类名称{ 访问权限 类名称(类型1 参数1,类型2 参数2,…){ 程序语句 ; … // 构造方法没有 ...
- Java从零开始学十(Arrays类对数组的常用方法)
一.Arrays类常用方法 二.简单例子 package com.pb.demo1; import java.util.Arrays; /* * Arrays工具类的中的几个常用方法 * 1.copy ...
- 并发编程从零开始(十四)-Executors工具类
并发编程从零开始(十四)-Executors工具类 12 Executors工具类 concurrent包提供了Executors工具类,利用它可以创建各种不同类型的线程池 12.1 四种对比 单线程 ...
- Java进阶(三十四)Integer与int的种种比较你知道多少?
Java进阶(三十四)Integer与int的种种比较你知道多少? 前言 如果面试官问Integer与int的区别:估计大多数人只会说到两点:Ingeter是int的包装类,注意是一个类:int的初值 ...
- “全栈2019”Java多线程第二十四章:等待唤醒机制详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
随机推荐
- POJ 3061 Subsequence 尺取法,一个屌屌的O(n)算法
Subsequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9050 Accepted: 3604 Descr ...
- How To Allow Blocked Content on Internet Explorer
Follow the steps below if you are tired of having to "Enable Blocked Content" in IE each t ...
- COM/DCOM开发练习之进程内组件实例
作者 : 卿笃军 题目说明: 仿照例题,在其基础上实现下面功能: 1)使用C++语言实现进程内组件,组件提供复数的加.减.乘.除等计算服务:client部分包含录入(实部和虚部分开录入)和查询部分. ...
- Quartz实现动态定时任务
一. 说明 由于最近工作要实现定时任务的执行,而且要求定时周期是不固定的,所以就用到了quartz来实现这个功能: spring3.1以下的版本必须使用quartz1.x系列,3.1以上的版本才支持q ...
- 不用软件快速拥有几百个QQ群并都是管理员
不用软件快速拥有几百个QQ群并都是管理员!快速拥有有几十万精准数据库的方法 !和快速收集上亿邮箱的思维方法(附上5种赚钱方法).pdf_免费高速下载|百度云 网盘-分享无限制 http://pan.b ...
- ios 中局部变量可以通过传递来进行管理和释放,借此可提高代码的內聚度
ios 中 局部变量可以通过传递来进行管理和释放,通过多使用局部变量,可以提高代码的內聚度.如下: -(void)someMethod { UILabel *label = [[UILabel al ...
- Android 限制EditText仅仅能输入数字、限制输入类型、限制输入长度的小技巧
准确的说让Edittext仅仅能输入数字有方法两种,都是通过xml属性设置 方法一: <EditText android:id="@+id/u_account" androi ...
- 在VS 2010上搭建Windows Phone 7开发平台
如今Windows Phone 7平台越来越火了,刚刚拿到一款新的Windows Phone,于是准备在电脑上搭建WP7的开发环境. 首先,安装VS2010,升级到SP1,并安装Windows P ...
- Git 学习(四)操作修改和版本穿梭
Git 学习(四)操作修改和版本穿梭 之前的章节,已介绍了本地Git库创建.暂存区增.删.改,以及提交版本库:可回顾下命令操作: git add 和 git commit. 光有之前章节的操作,Git ...
- DELPHI中千万别直接使用CreateThread ,建议使用BeginThread(在C++中无大问题,可是到了DELPHI中情况就不一样了)
以前在写个别程序的时候老是喜欢使用纯API编程. 在C++中无大问题,可是到了DELPHI中情况就不一样了. 当你用 DELPHI写的多线程程序莫名其妙的内存错误,特别是字符串(string)操作; ...