Java小白翻身教程-如何引用外部类

简介: Java小白翻身教程-如何引用外部类

上一节:Java小白翻身教程-包的作用


现在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 编译,报错,欧耶~

39.png


步骤 3 访问权限修饰符

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

40.png


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

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

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


步骤 4 编译和运行Demo.java

41.png

这次就成功啦!


步骤 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");


42.png

步骤 7 错误示范

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

import static tool.*.*;


相关文章
|
2天前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
|
20天前
|
存储 安全 Java
java.util的Collections类
Collections 类位于 java.util 包下,提供了许多有用的对象和方法,来简化java中集合的创建、处理和多线程管理。掌握此类将非常有助于提升开发效率和维护代码的简洁性,同时对于程序的稳定性和安全性有大有帮助。
41 17
|
11天前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
15天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
55 4
|
16天前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
34 2
|
19天前
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
|
21天前
|
存储 安全 Java
如何保证 Java 类文件的安全性?
Java类文件的安全性可以通过多种方式保障,如使用数字签名验证类文件的完整性和来源,利用安全管理器和安全策略限制类文件的权限,以及通过加密技术保护类文件在传输过程中的安全。
|
19天前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
19天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
|
5天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
10 0