01
切莫垂头丧气,即使失去了一切,你还握有未来。
——奥丅斯卡•王尔德
前言
好久不见,都安好吗?疫情当下,我们每个人首先要做的就是保护好自己,不给病毒一丝可乘之机。之前的寒假都希望晚点开学吧,但这个寒假,相信大家早就已经坐不住,想回学校,我的笔记本,我的资料,我的各种实验代码......都静静地躺在实验室。虽然学校回不去,但学习不能按下暂停键。大家加油!本周我们先来学习一些简单的内容,main方法,static关键字和Java包。
01
一、Java main()方法
1.1 main()方法
在 Java 中,main() 方法是 Java 应用程序的入口方法,程序在运行的时候,第一个执行的方法就是 main() 方法。main() 方法和其他的方法有很大的不同。下面我们用一个简单的程序来加以说明。
package Jinjie6;
public class Hello {
public static void main(String args[]){
System.out.println("perseverance means victory!!!");
}
}
使用 main() 方法时应该注意如下几点:
1)访问控制权限是公有的(即public)。
2)main() 方法是静态的。如果要在 main() 方法中调用本类中的其他方法,则该方法也必须是静态的,否则需要先创建本类的实例对象,然后再通过对象调用成员方法。
3)main() 方法没有返回值,只能使用 void。
4)main() 方法具有一个字符串数组参数,用来接收执行 Java 程序的命令行参数。命令行参数作为字符串,按照顺序依次对应字符串数组中的元素。
5)字符串中数组的名字(代码中的 args)可以任意设置,但是根据习惯,这个字符串数组的名字一般和 Java 规范范例中 main() 参数名保持一致,命名为 args,而方法中的其他内容都是固定不变的。
6)main() 方法定义必须是“public static void main(String[] 字符串数组参数名)”。
7)一个类只能有一个 main() 方法,这是一个常用于对类进行单元测试(对软件中的最小可测试单元进行检查和验证)的技巧。
1.2 main()方法调用静态方法和非静态方法
我们先通过一个简单的程序来看看如何调用
package Jinjie6;
public class Test {
public void Speak1() { //定义非静态方法
System.out.println("调用非静态方法!");
}
public static void Speak2() { //定义静态方法
System.out.println("调用静态方法!");
}
public static void main(String[] args) {
//Speak1(); // 错误调用
Speak2(); // 可以直接调用静态方法Speak2()
Test t = new Test();
t.Speak1(); // 调用非静态方法,需要通过类的对象来调用
}
}
在 main() 方法中只能直接调用静态方法,如果想调用非静态方法,需要将当前类实例化,然后通过类的对象来调用。
02
二、Static关键字
在类中,使用 static 修饰符修饰的属性(成员变量)称为静态变量,也可以称为类变量,常量称为静态常量(详见Java学习历程之----基础篇(四)),方法称为静态方法或类方法,它们统称为静态成员,归整个类所有。
静态成员不依赖于类的特定实例,被类的所有实例共享;调用静态成员的语法形式如下:
类名.静态成员
注意:
1)static 修饰的成员变量和方法,从属于类。
2)普通变量和方法从属于对象。
3)静态方法不能调用非静态成员,编译会报错。
下周我们再来详细学习静态变量和静态方法。
03
三、Java package
在编写 Java 程序时,随着程序架构越来越大,类的个数也越来越多,这时就会发现管理程序中维护类名称也是一件很麻烦的事,尤其是一些同名问题的发生。
为了解决上述问题,Java 引入了包(package)机制,提供了类的多层命名空间,用于解决类的命名冲突、类文件管理等问题。包允许将类组合成较小的单元(类似文件夹),它基本上隐藏了类,并避免了名称上的冲突。包允许在更广泛的范围内保护类、数据和方法。你可以在包内定义类,而在包外的代码不能访问该类。这使你的类相互之间有隐私,但不被其他世界所知。包的 3 个作用如下:
1)区分相同名称的类。
2)能够较好地管理大量的类。
3)控制访问范围。
Java 中使用 package 语句定义包,package 语句应该放在源文件的第一行,(细心的读者有没有发现我们的程序也使用了包),在每个源文件中只能有一个包定义语句,并且 package 语句适用于所有类型(类、接口、枚举和注释)的文件。定义包语法格式如下:
package 包名;
Java 包的命名规则如下:
① 包名全部由小写字母(多个单词也全部小写)。
② 如果包名包含多个层次,每个层次用“.”分割。
③ 包名一般由倒置的域名开头,比如 com.baidu,不要有 www。
④ 自定义包不能 java 开头。
Java 引入了 import 关键字,import 可以向某个 Java 文件中导入指定包层次下的某个类或全部类。import 语句位于 package 语句之后,类定义之前。一个 Java 源文件只能包含一个 package 语句,但可以包含多个 import 语句。
使用 import 导入单个类的语法格式如下:
import 包名+类名;
Java SE 提供了一些系统包,其中包含了 Java 开发中常用的基础类。在 Java 语言中,开发人员可以自定义包,也可以使用系统包,常用的系统包如下图所示:
结语
接下来我们就继续坚持吧,不轻易开始,但开始了也别轻易言弃!相约下周!
编辑:玥怡居士|审核:世外居士
▼
往期精彩回顾
▼
我就知道你“在看”