Java面向对象 包
Java面向对象 包
知识概要:
(1)包的概念
(2)包的命名
(3)编译执行
(4)导入
(5)包的访问权限
包:
包(package)用于将完成不同功能的类分类,放在不同的目录(包)下
包的命名规则:
将公司域名反转作为包名。例如 cn.itheima.day1;...
包名一般每个字母都要小写。
把类定义在某个包下面,一般在源文件开头加上package xxx.yyy;
则类的全名是xxx.yyy.类名
如果定义类的时候没有使用package指定包名,则Java认为类位于默认包里面(default package)。
编译执行:
如果程序中声明了包名,即首行写了package com.xxx;
那么如果按照一般的编译方式 javac 源文件名.java
会在当前目录下生成class文件。
然后直接用:java源文件名执行,则会报错。
出现java.lang.NoClassDefFoundError
产生问题的原因
包的意义在于产生一种目录结构,所以class文件必须位于相应的目录层次结构中。
以package com.xxx为例:
一种解决方式是手工建立com文件夹,里面建立xxx文件夹,把生成的class文件放在目录结构中,并且执行的时候采用java 完整类名
(即带上包名)才能够执行。
不需要手动建立文件夹的解决手段
使用编译参数 -d的解决方法:
编译的时候可以在javac命令中采用-d指定存放生成的类文件的位置。
-d . 可以在当前目录下生成。
用如下命令:
javac –d . 源文件名.java
则编译后在当前目录下,编译器会生成包的文件目录层次结构,并且把class文件放入其中。
如果不用“.”,也可以指定目录。
用java命令执行的时候需要将包的信息全部带上,即用完整的加包名的形式执行。
执行:
java 完整类名
导入:
导入(import),将使用package分离的各个类导入回来,让编译器能够找到所需要的类。
使用在同一个包下的类不需要导入可以直接用,使用不同的包下的类才需要导入。
使用格式:
import aaa.bbb.ccc;
可以使用通配符“*”代替类名,将包中的所有类导入:
import aaa.bbb.*;
注意:
import aaa.bbb.*;并不会导入import aaa.bbb.ccc包下面的类。
包的访问权限
Java面向对象 包的更多相关文章
- JAVA面向对象-----包机制
JAVA面向对象-–包机制 问题: 当定义了多个类的时候,可能会发生类名的重复问题. 在java中采用包机制处理开发者定义的类名冲突问题. 怎么使用java的包机制呢? 1.使用package 关键字 ...
- java面向对象--包及访问控制符
多人开发同一个项目时,会出现类名称相同的情况.package就是为了避免类或接口名称重复而采用的一种措施.实际上包就是有一定层次结构的文件夹,*.class文件要保存当前类声明的和包对应的文件夹中. ...
- Java面向对象(static、final、匿名对象、内部类、包、修饰符、代码块)
面向对象 今日内容介绍 u final u static u 匿名对象 u 内部类 u 包的声明与访问 u 四种访问修饰符 u 代码块 第1章 final关键字 1.1 final的概念 继承的出现提 ...
- Java 面向对象异常处理,finally,覆盖时异常特点,package,import,包之间的访问(10)
Java 面向对象异常处理, finally:final 关键字的用法参考http://www.cnblogs.com/itcqx/p/5541659.html 覆盖时异常特点,package,imp ...
- 090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 04 使用包进行类管理(2)——导入包
090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 使用包进行类管理(1)——创建包
089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- Java 面向对象之static,final,匿名对象,内部类,包,修饰符
01final关键字概念 A: 概述 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这 ...
- JavaSE入门学习17:Java面向对象之package(包)
一Java包(package) 为了更好地组织类,Java提供了包机制,用于差别类名的命名空间. 包的作用: A把功能类似或相关的类或接口组织在 ...
- java jar包收集
activation~与javaMail有关的jar包,使用javaMail时应与mail.jar (mail.jar和activation.jar)一起加入到lib中去,具体负责mail的数据源和类 ...
随机推荐
- vue学习日志(一):vue的优势
vue的中文官方文档里面有对比其他框架的具体介绍,这里只是做一个概括总结: 1,在 Vue 应用中,组件的依赖是在渲染过程中自动追踪的,所以系统能精确知晓哪个组件确实需要被重渲染.你可以理解为每一个组 ...
- AJAX 处理xml 数据
//这个方式返回的得是 xml标准的对象,可以返回 xml字符串,前端js 使用转为xml function createXml(str){ if(document.all){//IE浏览器 va ...
- ini文件必须要全路径名啊
弄半天必须要全路径名啊.实在不行用./set.ini也可以 用UNICODE保存ini文件
- java 多线程(0) Java线程
线程 线程是系统调度的基本单元,每当创建一个进程时,会有许多的线程,也叫轻量级进程,在一个进程中拥有多个线程,各自都有自己的计数器,堆和局部变量属性,并且能够分享内存变量. 为什么要使用多线程 1. ...
- 201521123082 《Java程序设计》第9周学习总结
201521123082 <Java程序设计>第9周学习总结 标签(空格分隔):java 1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 ...
- 201521123082 《Java程序设计》第6周学习总结
201521123082 <Java程序设计>第6周学习总结 标签(空格分隔): java 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念 ...
- 团队作业4---第一次项目冲刺(ALpha)版本 第五天
一.Daily Scrum Meeting照片 二.燃尽图 三.项目进展 a.完成所有基础功能 b.正在进行测试调试 四.困难与问题 1.根据测试需求功能,部分基础功能不能实现,性能不达标,后续已完成 ...
- 第03周-Java作业评价
1.作业存在的问题 几大扣分点: 思维导图敷衍了事 -1 代码格式混乱 -2 无码云提交记录 -2 无PTA实验总结 -2 部分题目未完成. 格式问题:到现在还搞不清楚的,主要是态度问题.相关的教程 ...
- 201521123074 《Java程序设计》第6周学习总结
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...
- 201521123034《Java程序设计》第十周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出 ...