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


  • 相关阅读:
    Spring Boot实现发送邮件
    IDEA thymeleaf ${xxx.xxx}表达式报错,红色波浪线
    解决springboot——集成 mybatis遇到的问题:No MyBatis mapper was found in '[com.example.demo]' package...
    解决Intellij IDEA中Mybatis Mapper自动注入警告
    System.gc()和Runtime.gc()的区别
    Java中定时器相关实现的介绍与对比之:Timer和TimerTask
    markdown语法介绍
    Java VisualVM使用
    Linux系统负载查询
    Kafka高性能吞吐关键技术分析
  • 原文地址:https://www.cnblogs.com/Jhaiha0/p/8465284.html
Copyright © 2011-2022 走看看