java编程思想随笔(三)/访问指示符和package和import

本文探讨了Java库设计的基本原则,重点是如何区分变化与不变的部分,并通过访问指示符(如public, private, protected)来控制类成员的可见性。此外,还介绍了包(package)的作用及如何使用import关键字来解决命名冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、

进行面向对象的设计时,一项基本的考虑是:如何将发生变化的东西与保持不变的东西分隔开。

对于这一点,库的设计者需要时刻谨记。

Java 推出了“访问指示符”的概念,允许库创建者声明哪些东西是客户程序员可以使用的,哪些是不可使用的。

库设计者,应将所有东西都尽可能保持为“private”(私有),并只展示(public)出那些想让客户程序员使用的方法。

默认:

如果根本不指定访问指示符,默认的访问没有关键字,但它通常称为“友好”(Friendly)访问,拥有“包访问”权限。

public:

在public 后面的成员声明适用于所有人,特别是适用于使用库的客户程序员。

private:

private关键字意味着除非那个特定的类,而且从那个类的方法里,否则没有人能访问那个成员。实际使用上,例如private构造方法,实现单例等。

protected:

继承访问权限,即除了内部调用,子类也可以调用,一般开发中protected使用较少。

二、

编写.java文件时首先指定,例如:package com.gcc.modules.frontstage.web;这样的包路径。

然后用import 关键字导入一个完整的库时,就会获得其他“包”(Package)。例如:import java.util.*;

好处是:package和 import关键字允许我们做的事情就是分割单个全局命名空间,保证我们不会遇到名字的冲突。

还有一个避免名字冲突的做法是:

com.gcc.modules.frontstage.service.articleService articleService = new com.gcc.modules.frontstage.service.articleService()

这样指定完整名字(当然实际开发没人这样做,但是在使用工具开发时,自动导包时候偶尔会发生,原因是有一个同名类已经用import导入,而再导入第二个同名类时工具会用这种全名的方式来处理名字冲突。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值