Java包的导入

Java包的导入

​ 在编写java程序的时候,往往会把具有不同功能的方法放在不同的.java文件里再写一个入口文件来运行,这时候就需要这时候通过导包把其他.java文件导入入口文件中。下面是导包的过程:

一:java文件和包在同一目录下

  1. 首先我创建了一个Print1.java文件作为包。

    package bao;//包名就是bao
    public class Print1{
    	public static void HelloWorld(){
    		System.out.println("包中的:Hello World!");
    	}
    }
    

    然后我们通过javac -d . Print1.java来把这个java文件变成一个包(就是等于是把print1.java编译后生成的.class文件放进了一个名为bao的文件夹中)

    在这里插入图片描述

    在这里插入图片描述

    里面的内容是.class文件

    在这里插入图片描述

2.在创建一个Print2.java文件作为入口文件

import bao.Print1;
public class Print2 
{
	public static void main(String[] args) 
	{
		Print1.HelloWorld();//调用bao包中的HelloWorld方法
	}
}

​ 直接用javac Print2.java进行编译java Print2运行就可以了

在这里插入图片描述

二、java文件和包不在同一目录下

​ 现在我的Print2.java文件放在了a文件夹下而Print1.Java以及生成的包在hh文件夹里

在这里插入图片描述

​ 这个时候我再对Print2.java进行编译就会报错,显示包不存在

在这里插入图片描述

​ 这个时候的解决办法就是改变环境变量

在这里插入图片描述

加上之后编译运行成功 (ps:在改变环境变量后要重新打开dos界面才行)

在这里插入图片描述

三、调用包中类的方法的两种情况

​ 在上面的java程序中我调用包中类的方法时是直接通过类名.方法名(参数)来实现的。同样是调用调用包中类的方法,当我们使用import java.util.Scanner时我们却是通过

Scanner in = new Scanner(System.in)再用in.nextInt()之类的来调用的。我尝试了一下用

类名.方法名(参数)来调用Scanner类,结果是报错了

在这里插入图片描述

我把我的代码Print1.java改成这样后再编译报的错也和上面一样

package bao;//包名就是bao
public class Print1{
	public void HelloWorld(){
		System.out.println("包中的:Hello World!");
	}
}

在这里插入图片描述
​ 经过网上查询我知道了写方法的是有static修饰的是静态方法;这种方法可以直接通过类名.方法名(参数)来实现。而没有static修饰的方法是非静态的,不是独立存在的,需要通过创建对象再通过对象进行调用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值