`
默默的小熊
  • 浏览: 233715 次
社区版块
存档分类
最新评论

java的类修饰符

 
阅读更多

    在编写Java类或接口时,要考虑使用哪种修饰符,有public和和包级私有修饰符号,经验表明,应该使类的可访问能力最小化。看下面的例子:

/**
 * 栈的接口
 * 
 */
public interface MyStack {

	/**
	 * 获取栈中数据的个数
	 * 
	 */
	int size();

	/**
	 * 测试栈是否为空
	 * 若栈空,返回true,否则false
	 */
	boolean isEmpty();

	/**
	 * 向栈顶部压入元素o
	 * 
	 */
	void push(Object o);

	/**
	 * 弹出栈顶部元素
	 * 若栈空,抛出EmptyStackException异常
	 */
	Object pop() throws EmptyStackException;

	/**
	 * 获取栈顶部元素
	 * 若栈空,返回null
	 */
	Object getTop();

}

class MyStackImpl implements MyStack {
	private Object[] elements;
	private int size = 0;

	public MyStackImpl(int initialCapacity) {
		this.elements = new Object[initialCapacity];
	}

	public void push(Object e) {
		ensureCapacity();
		elements[size++] = e;
	}

	public Object pop() {
		if (size == 0)
			throw new EmptyStackException();
		Object result = elements[--size];
		elements[size] = null;
		return result;
	}

	public boolean isEmpty() {
		return (size == 0 ? true : false);
	}

	public Object getTop() {
		if (size == 0)
			return null;
		return elements[size - 1];
	}

	public int size() {
		return size - 1;
	}

	public String toString() {
		StringBuffer b = new StringBuffer();

		for (int i = 0; i < size; i++) {
			b.append(elements[i] + " ");
		}

		String s = new String(b);
		return "[" + s + "]";
	}

	private void ensureCapacity() {
		if (elements.length == size) {
			Object[] oldElements = elements;
			elements = new Object[2 * elements.length + 1];
			System.arraycopy(oldElements, 0, elements, 0, size);
		}
	}
}

    这里MyStack和MyStackImpl是在同一个包中的,可以看到MyStack是用public修饰的,而MyStackImpl则是包级私有的。这样做是有好处的,如果一个包是一个模块,那么对外只要显示public类和接口就可以了,而包级私有的类就相当于包的实现,在以后的发行版本中,你可以修改,替换(比如我现在的MyStackImpl,哪天觉得那个实现不够好,可以对它进行修改,而不会影响到客户的代码)。

 

分享到:
评论

相关推荐

    理解java中的类的各种权限修饰符

    ### 理解Java中的类的各种权限修饰符 在Java编程语言中,权限修饰符用于控制类、方法、变量等成员的访问级别。这有助于提高代码的安全性和封装性。本文将详细探讨Java中的五种权限修饰符:`public`、`protected`、`...

    Java访问修饰符

    Java 访问修饰符是 Java 编程语言中的一种重要机制,它控制着类、方法和变量的访问权限。访问修饰符可以分为四种:public、protected、private 和缺省(无访问修饰符)。 public 访问修饰符 public 访问修饰符是最...

    Java修饰符使用整理(含实例)

    Java 修饰符可以分为两大类:访问修饰符和非访问修饰符。访问修饰符包括 public、protected、default 和 private 四种,用于控制类、成员变量和方法的访问权限。非访问修饰符包括 final、static 和 abstract 三种,...

    Java类的修饰符、访问控制符

    Java语言中的类修饰符和访问控制符是编程中至关重要的概念,它们决定了代码的组织结构、访问权限和封装性。本实验旨在深入理解和熟练运用这些关键特性。 首先,Java类修饰符包括`public`, `private`, `protected`...

    JAVA访问修饰符大归纳

    根据 JAVA 访问修饰符的特性和使用范围,我们可以将其分为三类:修饰符类的访问修饰符、属性的访问修饰符和方法的修饰符。 一、修饰符类的访问修饰符 修饰符类的访问修飾符共有四种:默认、public、abstract 和...

    java修饰符介绍

    以下是对标题和描述中提及的Java修饰符及其相关知识点的详细介绍: 1. 类的访问控制修饰符: - **public**:公共访问修饰符,允许任何地方的代码访问该类或成员。这意味着类或方法可以在任何包中被调用。 - **...

    java常用的修饰符

    Java修饰符是编程中至关重要的概念,它们用于定义类、接口、变量和方法的访问权限、行为和特性。本文将详细介绍Java中常见的修饰符及其用途。 1. **类的修饰符** - **public**: 公共访问控制符,允许任何地方的...

    java 三个修饰符习题.zip

    这些修饰符用于定义类、接口、变量和方法的可访问性,是理解Java面向对象特性的重要组成部分。让我们深入探讨这三个修饰符的含义和用法。 1. `public`: `public`是最宽松的访问控制修饰符,表示没有任何限制,...

    java访问权限修饰符public.doc

    在 Java 语言中,访问权限修饰符是指用来限定类、成员变量和方法的可访问范围的关键字。访问权限修饰符分为四种:public、protected、friendly 和 private。每种修饰符都有其特定的访问权限和使用场景。 一、public...

    Java修饰符总结

    Java修饰符主要分为两大类:访问控制符和非访问控制符。其中,访问控制符用于控制类、方法和变量的可访问性范围,而非访问控制符则用于提供额外的功能,如抽象、静态、同步等。 #### 访问控制符 访问控制符包括`...

    Java访问修饰符大归类

    Java 中的访问修饰符可以分为三大类:类的访问修饰符、属性的访问修饰符和方法的访问修饰符。每种修饰符都有其特定的访问权限和用途。 类的访问修饰符 Java 中有四种类的访问修饰符: 1. 缺省(friendly):同一...

    第6章 Java语言中的修饰符.ppt

    Java语言中的修饰符是编程语法中的重要组成部分,它们用于定义类、接口、变量和方法的特性,从而控制访问权限、实现抽象概念、确保不可变性以及优化代码结构。本章将详细阐述Java中的主要修饰符。 首先,我们讨论...

    java修饰符

    ### Java修饰符详解 在Java编程中,修饰符(Modifiers)扮演着至关重要的角色,它们用于控制类、方法、变量等元素的可见性和行为。Java提供了两种主要类型的修饰符:访问控制修饰符和非访问控制修饰符。本文将深入...

    java常用修饰符.doc

    Java语言中的修饰符是编程中不可或缺的部分,它们用于指定类、接口、方法和变量的访问权限及特性。本文主要分析了Java中常见的访问修饰符(public、private、protected、friendly/default)以及非访问修饰符(final...

    Java修饰符demo

    本文将深入探讨Java修饰符的基础知识,包括访问修饰符、非访问修饰符以及它们在实际编程中的应用。 首先,我们来看访问修饰符。在Java中,有四种主要的访问修饰符: 1. **public**:公共访问修饰符,允许任何地方...

    SCJP java基础修饰符

    从给定的文件信息来看,我们深入探讨了Java语言中重要的修饰符概念,...总之,Java修饰符是掌握面向对象编程和有效利用类、方法、属性的关键。理解每种修饰符的作用和适用场景对于编写高质量、易于维护的代码至关重要。

    java修饰符的使用.pdf

    Java 中的类和方法的修饰符是 Java 语言的基础知识之一。Java 程序在定义类时,除了使用 class 关键字标识之外,还可以在 class 之前增加若干类的修饰符来修饰限定所定义的类的特性。类的修饰符分为访问控制符和非...

    Java修饰符总结[汇编].pdf

    Java修饰符总结[汇编].pdf

    Java修饰符详细解析

    Java修饰符详细解析 Java语言中,修饰符(Modifier)是一...Java修饰符是Java语言中一个非常重要的概念,它们决定了类、方法、变量的访问权限和行为。只有正确地使用修饰符,才能写出结构清晰、可维护性强的Java程序。

Global site tag (gtag.js) - Google Analytics