亲爱的MBA智库百科用户:


过去的17年,百科频道一直以免费公益的形式为大家提供知识服务,这是我们团队的荣幸和骄傲。 然而,在目前越来越严峻的经营挑战下,单纯依靠不断增加广告位来维持网站运营支出,必然会越来越影响您的使用体验,这也与我们的初衷背道而驰。 因此,经过审慎地考虑,我们决定推出VIP会员收费制度,以便为您提供更好的服务和更优质的内容。


MBA智库百科VIP会员,您的权益将包括: 1、无广告阅读; 2、免验证复制。


当然,更重要的是长期以来您对百科频道的支持。诚邀您加入MBA智库百科VIP会员,共渡难关,共同见证彼此的成长和进步!



MBA智库百科项目组
2023年8月10日
百科VIP
未登录
无广告阅读
免验证复制
1年VIP
¥ 9.9
支付方式:
微信支付
支付宝
PayPal
购买数量:
1
应付金额:
9.9
汇率换算:
1.32
美元(USD)
  • 美元(USD)
  • 加元(CAD)
  • 日元(JPY)
  • 英镑(GBP)
  • 欧元(EUR)
  • 澳元(AUD)
  • 新台币(TWD)
  • 港元(HKD)
  • 新加坡(SGD)
  • 菲律宾(PHP)
  • 泰铢(THB)

按当月汇率换算,

包含手续费

打开手机微信 扫一扫继续付款
立即开通
PayPal支付后,可能会遇到VIP权益未及时开通的情况,请您耐心等待,或者联系百科微信客服:mbalib888。
温馨提示:当无法进去支付页面时,可刷新后重试或更换浏览器
开通百科会员即视为同意《MBA智库·百科会员服务规则》

支付成功

全球专业中文经管百科,由121,994位网友共同编写而成,共计436,064个条目

頂層類

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

(重定向自Top-level class)

  2025 年 02 月 20 日 星期四

中文名稱
頂層類
所屬學科
Java 編程語言
漢語拼音
Dǐngcéng Lèi
詞條類型
Java 術語
英文名稱
Top-level class

目錄

[隱藏]

前言

  • 本文內容根據 Java 教程中的《課程:類和對象》編寫而成。
  • 本文提供的是 JDK 14 的示例代碼。

定義

  頂層類(Top-level class),是 Java 中對類的一種定義方式。在 .java 文件中,處於最外層的類就稱為頂層類,在其外部不存在將其包圍起來的任何代碼塊。下麵的示例就是一個典型的頂層類:

/**
 * 定義一個公共的頂層類。
 */
public class MyClass {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
/* 輸出結果:
Hello World!

 */
顶层类
放大
頂層類

概述

  頂層類可聲明為 public,如前面示例中的 MyClass 類,也可聲明為包私有的,如下:

/**
 * 定義一個包私有的頂層類。
 */
class PackagePrivateClass {
    public static void main(String[] args) {
        System.out.println("PackagePrivateClass:這是一個包私有的頂層類。");
    }
}
/* 輸出結果:
PackagePrivateClass:這是一個包私有的頂層類。

 */
  • 提示:在定義一個類時,如果在 class 關鍵字前不加 publicprivateprotected 關鍵字,那麼這個類就聲明為包私有的(Package-Private),即它是類的預設聲明。包私有的類可在其所在的包內共用,但不能跨包共用。

  不允許將頂層類聲明為 privateprotected,因為頂層類在本質上不屬於私密類。如果將一個頂層類用 privateprotected 關鍵字隱藏起來(即不對外共用),那就無法創建這個類的實例,等同於沒有定義這個類。

  此外,不允許將頂層類聲明為 static,因為頂層類在本質上是非靜態的,只有在創建其實例時,才會將其載入到記憶體中。否則,Java 編譯器將會生成一條類似於“此處不允許使用修飾符 static”的錯誤消息。

併列多個頂層類

  在 .java 文件中,允許多個頂層類併列存在,但只能有一個與其文件名同名的、聲明為 public 的頂層類。這個與文件名同名的頂層類可聲明為包私有的,但在這個文件中的其他頂層類只能聲明為包私有的

/**
 * 定義一個頂層類。
 */
public class TopLevelClass {
    public static void main(String[] args) {
        System.out.println("TopLevelClass:這是與 TopLevelClass.java 文件同名的頂層類。");
        System.out.println(new AnotherClass().toString());
    }
}

/**
 * 定義另一個頂層類。
 */
class AnotherClass {
    public AnotherClass() {
    }

    @Override
    public String toString() {
        return "AnotherClass:這是在 TopLevelClass.java 文件中的另一個頂層類。";
    }
}
/* 輸出結果:
TopLevelClass:這是與 TopLevelClass.java 文件同名的頂層類。
AnotherClass:這是在 TopLevelClass.java 文件中的另一個頂層類。

 */

  在上述示例中,若將 AnotherClass 類聲明為 public,則 Java 編譯器將會生成一條類似於“類 AnotherClass 是公共的,應在名為 AnotherClass.java 的文件中聲明”的錯誤消息。

聲明抽象類

  可使用 abstract 關鍵字,將頂層類聲明為抽象類,如下:

public class AbstractClassDemo {
    public static void main(String[] args) {
        new Subclass().printName();
    }
}

/**
 * 定義一個抽象類。
 */
abstract class AbstractClass {
    private final String name;

    // 定義抽象類的構造方法。
    public AbstractClass() {
        name = "AbstractClass:這是一個抽象類。";
    }

    // 定義一個非抽象方法。
    public String getName() {
        return name;
    }

    // 定義一個抽象方法。
    public abstract void printName();
}

/**
 * 定義一個子類。
 */
class Subclass extends AbstractClass {
    private final String name;

    // 定義子類的構造方法。
    public Subclass() {
        super();
        name = "Subclass:這是一個抽象類的子類。";
    }

    // 實現父類的抽象方法。
    @Override
    public void printName() {
        System.out.println(super.getName());
        System.out.println(name);
    }
}
/* 輸出結果:
AbstractClass:這是一個抽象類。
Subclass:這是一個抽象類的子類。

 */

  想要瞭解有關抽象類的更多信息,請參閱《抽象類》。

本條目對我有幫助1
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目投訴舉報

本条目由以下用户参与贡献

M id ca0e1820b225ab1ad414f1d3c9d4b121.

評論(共0條)

提示:評論內容為網友針對條目"頂層類"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成

官方社群
下载APP
告MBA智库百科用户的一封信
亲爱的MBA智库百科用户: 过去的17年,百科频道一直以免费公益的形式为大家提供知识服务,这是我们团队的荣幸和骄傲。 然而,在目前越来越严峻的经营挑战下,单纯依靠不断增加广告位来维持网站运营支出,必然会越来越影响您的使用体验,这也与我们的初衷背道而驰。 因此,经过审慎地考虑,我们决定推出VIP会员收费制度,以便为您提供更好的服务和更优质的内容。 MBA智库百科VIP会员(9.9元 / 年,点击开通),您的权益将包括: 1、无广告阅读; 2、免验证复制。 当然,更重要的是长期以来您对百科频道的支持。诚邀您加入MBA智库百科VIP会员,共渡难关,共同见证彼此的成长和进步!
MBA智库百科项目组
2023年8月10日

闽公网安备 35020302032707号

添加收藏

    新建收藏夹

    编辑收藏夹

    20