zoukankan      html  css  js  c++  java
  • 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


  • 相关阅读:
    Kubernetes 集成研发笔记
    Rust 1.44.0 发布
    Rust 1.43.0 发布
    PAT 甲级 1108 Finding Average (20分)
    PAT 甲级 1107 Social Clusters (30分)(并查集)
    PAT 甲级 1106 Lowest Price in Supply Chain (25分) (bfs)
    PAT 甲级 1105 Spiral Matrix (25分)(螺旋矩阵,简单模拟)
    PAT 甲级 1104 Sum of Number Segments (20分)(有坑,int *int 可能会溢出)
    java 多线程 26 : 线程池
    OpenCV_Python —— (4)形态学操作
  • 原文地址:https://www.cnblogs.com/Jhaiha0/p/8465284.html
Copyright © 2011-2022 走看看