Java学习历程之----进阶篇(六)

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 语言中,开发人员可以自定义包,也可以使用系统包,常用的系统包如下图所示:

结语

     接下来我们就继续坚持吧,不轻易开始,但开始了也别轻易言弃!相约下周!

编辑:玥怡居士|审核:世外居士

往期精彩回顾

Java学习历程之————进阶篇(五)

Java学习历程之----进阶篇(四)

Java学习历程之----进阶篇(三)

扫码关注

我就知道你“在看”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值