随笔 - 434,  文章 - 0,  评论 - 463,  阅读 - 46万

接上一讲,现在StringUtil已经写好了,我们希望在Demo里面引用它,有两种方法。

步骤 1 全限定名

为了简单起见,我们就不给Demo加package了,这样可以直接在Editplus里面快速运行。

全限定名,就是除去CLASSPATH,剩下的路径全给它写上,就像这样:

class Demo {
   public static void main(String[] args){

		tool.StringUtil.newLine("StringUtil -> newLine");

	        if(true) return; //抖个机灵
		Customer.pay();
		System.out.println(Customer.version);
		Customer c1 = new Customer();
		Customer c2 = new Customer();
		c1.name = "亚瑟";
		c2.name = "安其拉";
		c1.eat();
   }
}

步骤 2 编译,报错,欧耶~

image

步骤 3 访问权限修饰符

思考一个问题,为什么main方法可以被调用?我们发现每一个main方法,都会有一个public修饰符来修饰,所以,我们给StringUtil也加上public。

image

ctrl+1,重新编译,记住了,每次修改完源代码,都要重新编译!

ctrl+1,重新编译,记住了,每次修改完源代码,都要重新编译!

ctrl+1,重新编译,记住了,每次修改完源代码,都要重新编译!

步骤 4 编译和运行Demo.java

image

这次就成功啦!

步骤 5 导入包

上面讲了用全限定名的方式引用外部类,这样毕竟有点麻烦,如果类的全限定名很长,比如来个com.aaa.bbb.ccc,就太不协调了,也不好看。所以下面,我们用一种更加常用的方式,即导入包。

import tool.*;

这句话加在Demo.java的最开头,它表示导入tool包下面所有类,这样一来不必每次都写全限定名了,可以直接这样调用:

StringUtil.newLine("StringUtil -> newLine");

Ctrl+1编译,Ctrl+2运行,自己验证一下吧。

步骤 6 导入静态方法

什么,上面的写法还嫌不过瘾,那么你还可以直接导入静态方法:

import static tool.StringUtil.*;

这个的意思是,导入StringUtil里面所有的静态方法,这下子你连StringUtil都不用写了,岂不美哉:

newLine("StringUtil -> newLine");

image

步骤 7 错误示范

咳咳,下面的写法就别想了,不支持的哦。

import static tool.*.*;

步骤 8 视频地址

https://www.bilibili.com/video/BV1N34y1X723/

posted on   剽悍一小兔  阅读(56)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2016-10-10 【406错误】 The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers.

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示