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多 ...
随机推荐
- windows下python2.7.14版本的安装
本文主要对window下如何安装Python进行图解说明 步骤一.从官网下载相应的版本(本文以2.7.14为例),https://www.python.org/downloads/release/py ...
- weblogic安装使用: Could not Create the Java Virtual Machine
第一次使用weblogic,完全不明白是怎么一回事!找安装包花了大把时间!找到了不知道怎么安装 -- _ --||| 找了一篇安装文档<weblogic 安装部署手册.doc>, 位于:[ ...
- xcode .h文件编译时 版本不正确
在终端里面 执行下面的命令 rm -rf ~/Library/Developer/Xcode/DerivedData/ModuleCache/*
- The YubiKey NEO -- Smartcard features
Smartcard features on the YubiKey NEO YubiKeys are a line of small and low-cost hardware security to ...
- 深入理解 Java中的 流 (Stream)
首先,流是什么? 流是个抽象的概念.是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以"流"的方式进行.设备能够是文件,网络,内存等. 流具有方向性,至于是输入 ...
- 如何构建Win32汇编的编程环境(ONEPROBLEM个人推荐)
如何构建Win32汇编的编程环境(ONEPROBLEM个人推荐)1.首先要下载我提供的软件包(里面已经包含所有所需软件); 2.把它解压到D盘根目录下(如果需要安装在其它的地方,请注意设好路径); ...
- 在oracle中查询已知表名的表中所有字段名,每个字段是否是主键,是否是外键,是否为空的sql语句
查询表的所有列及其属性:select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c ...
- Android事件分发机制源码分析
Android事件分发机制源码分析 Android事件分发机制源码分析 Part1事件来源以及传递顺序 Activity分发事件源码 PhoneWindow分发事件源码 小结 Part2ViewGro ...
- 近看到的机器学习、NLP相关书单
书单再多,不去读,也是白搭~~ 水木上的machine learning书单:http://www.newsmth.net/bbscon.php?bid=5&id=34859&ftyp ...
- Linux 提权常用命令集
转载:http://www.myhack58.com/Article/html/3/8/2017/83236.htm 0x00 操作系统相关 操作系统类型版本 cat /etc/issue cat / ...