JAVA_SE基础——57.有了包之后类与类之间的访问使用import语句
代码1访问代码2
代码1:
class Demo3 {
public static void main(String[] args) {
Demo4 a = new Demo4();
a.print();
}
}
代码2:
class Demo4{
public void print(){
System.out.println("这个是Dmeo4的print方法...");
}
}
运行结果:
如果把他们都放入不同的包,还能访问的到吗?
创建了分别的包: 代码3 访问 代码4
代码3:
package a;
class Demo3 {
public static void main(String[] args) {
Demo4 a = new Demo4();
a.print();
}
}
代码4:
package b;
class Demo4{
public void print(){
System.out.println("这个是Dmeo4的print方法...");
}
}
结果是编译Demo3就报错
上面说找不到符号,就是找不到Demo4 而Demo4是在b包的 下面我将代码3改下(代码4不用改), 看看能不能访问。
这时候就要用到导包语句;
导包语句的格式:
import 包名.类名; (导入xxx包中某个类)
导包语句要注意的细节:
1. 一个java文件中可以出现多句导包语句。
2. "*"是 导包语句的通配符。可以匹配任何 的类名。
3. import aa.*; 是不会作用于aa包下面的子包的。
推荐使用:import 包名.类名; 因为使用*通配符会导致结构不清晰。
什么时候使用import语句:
1. 相互访问的两个类不是在同一个包下面,这时候就需要使用到导包语句。
2. java.lang 是默认导入 的,不需要我们自己导入。
修改后的代码3:
package a;
import b.Demo4;
class Demo3 {
public static void main(String[] args) {
Demo4 a = new Demo4();
a.print();
}
}
然后运行:
Demo3.java:2: b.Demo4 在 b 中不是公共的; 这个其实很简单。。这关于权限的问题,我会在下次介绍。
修改后的代码4:
package b;
public class Demo4{
public void print(){
System.out.println("这个是Dmeo4的print方法...");
}
}
类名前面加上 public 这样Demo3就有权限访问了。
运行结果:
在JDK中,不同功能的类都放在不同的包中,其中Java的核心类主要放在java这个包及其子包下,Java扩展的大部分类都放在javax包及其子包下。为了便于后面的学习,接下里简单介绍Java语言中的常用包。
-java.lang:包含了Java语言的核心类,如String、Math、System和Thread类等,使用这个包中的类无须使用import语句导入,系统会自动导入这个包下的所有类。
-java.util:包含了Java中大量工具类、集合类等,例如Arrays、List、Set等。
-java.net:包含Java网络编程相关的类和接口。
-java.io:包含了Java输入、输出有关的类和接口。
-java.awt:包含用于构建图形界面(GUI)的相关类和结构。
等等我就不一一介绍了,自己查看API吧~
下面我来体现下导入java.util.Arrays; 吧~
代码5
import java.util.Arrays;
class Demo5 {
public static void main(String[] args) {
int[] arr = {8,5,7};
Arrays.sort(arr);
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
}
导包后就可以使用util.Arrays 了...
运行结果:
5 7 8
交流企鹅:654249738,和自学者交流群:517284938
JAVA_SE基础——57.有了包之后类与类之间的访问使用import语句的更多相关文章
- Java基础---IO(三)--IO包中的其他类
第一讲 对象序列化 一.概述 将堆内存中的对象存入硬盘,保留对象中的数据,称之为对象的持久化(或序列化).使用到的两个类:ObjectInputStream和ObjectOutputStrea ...
- 黑马程序员——【Java基础】——File类、Properties集合、IO包中的其他类
---------- android培训.java培训.期待与您交流! ---------- 一.File类 (一)概述 1.File类:文件和目录路径名的抽象表现形式 2.作用: (1)用来将文件或 ...
- java基础课程笔记 static 主函数 静态工具类 classpath java文档注释 静态代码块 对象初始化过程 设计模式 继承 子父类中的函数 继承中的构造函数 对象转型 多态 封装 抽象类 final 接口 包 jar包
Static那些事儿 Static关键字 被static修饰的变量成为静态变量(类变量) 作用:是一个修饰符,用于修饰成员(成员变量,成员方法) 1.被static修饰后的成员变量只有一份 2.当成员 ...
- JAVA_SE基础——6.标识符&关键字
学会写helloworld之后, 我们就开始来认识标识符&关键字 一.标识符 标识符是指可被用来为类.变量或方法等命名的字符序列,换言之,标识符就是用户自定义的名称来标识类.变量或方法等.更 ...
- 代码片段:基于 JDK 8 time包的时间工具类 TimeUtil
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “知识的工作者必须成为自己时间的首席执行官.” 前言 这次泥瓦匠带来的是一个好玩的基于 JDK ...
- 【JAVA零基础入门系列】Day11 Java中的类和对象
今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...
- JAVA_SE基础——26.[深入解析]局部变量与成员变量的区别
黑马程序员入学blog ... 如果这章节很难懂的话应该返回去先看 JAVA_SE基础--10.变量的作用域 定义的位置上区别: 1. 成员变量是定义在方法之外,类之内的. 2. 局部变量是定义在方 ...
- JAVA_SE基础——8.基本数据类型
基本数据类型有:整数类型.浮点类型.字符类型.布尔类型 整数类型 整数类型用来存储整数数值,即没有小数部分的数值.与C.C++语言相同,整数在Java语言中有3种表示形式:十进制.八进制和十六进制. ...
- JAVA_SE基础——7.常量&变量
上一篇,我讲了标识符&关键字 这篇我来解释下变量&常量~~~ 变量与常量这两个概念相信大家都不会感到陌生,在数学中就已经涉及了变量与常量.理解变量与常量,可以举这样一个例子: 例 ...
随机推荐
- (jzoj snow的追寻)线段树维护树的直径
jzoj snow的追寻 DFS序上搞 合并暴力和,记录最长链和当前最远点,距离跑LCA # include <stdio.h> # include <stdlib.h> # ...
- 【UVA 11426】gcd之和 (改编)
题面 \(\sum_{i=1}^{n}\sum_{j=1}^m\gcd(i,j)\mod998244353\) \(n,m<=10^7\) Sol 简单的一道莫比乌斯反演题 \(原式=\sum_ ...
- angular编写表单验证
angular编写表单验证 一.整体概述 表单内容如下图,包括常用的用户名.密码.确认密码.手机.邮箱等 整体js代码很少,就一个指令用于写确认密码和密码是否相等.其他 验证都是使用angular自带 ...
- Mac下安装FFmpeg教程
一.安装ffmpeg 分为两种安装方式: 1. 命令行安装 brew install ffmpeg 2. 下载压缩包安装 去 http://evermeet.cx/ffmpeg/ 下载7z压缩包,解压 ...
- FJUT16级第一周寒假作业题解J题
题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P9 涨姿势之区间刷新 TimeLimit:2000MS MemoryLimit:128M ...
- Ubuntu14.04 设置wifi热点
Ubuntu14.04 设置wifi热点 $ sudo add-apt-repository ppa:nilarimogard/webupd8 $ sudo apt-get update $ sudo ...
- Unity3D相机震动效果
在一些格斗.射击以及动作类游戏中 相机震动效果是十分重要的 一个平凡的镜头 在关键时刻加入相机震动后 便可以展现出碰撞.危险.打斗以及激动人心的效果 相机震动的实现方式有很多 但都会涉及摄像机位置的变 ...
- PHP7变量的内部实现
PHP7变量的内部实现 受篇幅限制,这篇文章将分为两个部分.本部分会讲解PHP5和PHP7在zval结构体的差异,同时也会讨论引用的实现.第二部分会深入探究一些数据类型如string和对象的实现. P ...
- laravel-Policy步骤
用户授权Policy 定义策略类 php artisan make:policy <name> 定义方法 注册策略类和模型关联 app > Providers > AuthSe ...
- python-正铉
第一步:安装插件 pip install Numpypip install matploatlib 第二步 导入包 import numpy as np import matplotlib.pylot ...