本文介绍如何访问java核心包中的包可访问成员。包可访问性的成员和方法指的是在声明成员或方法时没有加public、protected和private等访问修饰词的成员和方法。包可访问性的成员可以被同一个包中的其他类所访问。本文以BorderLayout中的center变量为例,简单介绍如何访问java核心包中的包可访问成员。
1、为了访问BorderLayout中的center变量,我们编写一个AwtHelper类,将其包声明为java.awt,即和BorderLayout所在的包同名。代码如下
package java.awt;
import javax.swing.JButton;
import javax.swing.JFrame;
public class AwtHelper {
public static Component getChild(BorderLayout layout,String key) {
Component result = null;
if(key == BorderLayout.NORTH)
result = layout.north;
else if(key == BorderLayout.SOUTH)
result = layout.south;
else if(key == BorderLayout.EAST)
result = layout.east;
else if(key == BorderLayout.WEST)
result = layout.west;
else if(key == BorderLayout.CENTER)
result = layout.center;
return result;
}
public static void main(String[] args) {
Container container = createTestContainer();
if( container.getLayout() instanceof BorderLayout) {
BorderLayout layout = (BorderLayout)container.getLayout();
Component center = AwtHelper.getChild(layout, BorderLayout.CENTER);
System.out.println("Center Component = " + center);
}
}
public static Container createTestContainer() {
JFrame frame = new JFrame();
Container con = frame.getContentPane();
con.setLayout(new BorderLayout());
con.add(new JButton("Center"),BorderLayout.CENTER);
return con;
}
}
2、将AwtHelper.java 编译后,将该类加入启动类路径 运行命令 java -Xbootclasspath/p:. java.awt.AwtHelper
Center Component = javax.swing.JButton[,0,0,0x0,invalid,alignmentX=0.0,alignment
Y=0.5,border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@1adc30,f
lags=296,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,dis
abledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom
=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,
rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=Center,defaultCapable=tru
e]
分享到:
相关推荐
在Java编程语言中,包(Package)和访问权限(Access Control)是两个核心概念,它们对于代码的组织、模块化以及安全控制具有重要意义。在这个主题中,我们将深入探讨这两个概念,以及它们如何在Java中相互作用。 ...
`import`语句用于引入特定包中的类,如`import java.util.*`导入整个`java.util`包。 4. **类和对象**:Java是一种面向对象的语言,类(class)是创建对象的蓝图。每个类可以包含属性(字段/field)和方法(函数/...
《Java核心技术 卷I 基础知识(原书第10版)》是一本深入讲解Java编程语言核心概念和技术的经典著作。这本书旨在为初学者和有经验的开发者提供全面而深入的Java SE(标准版)知识,是学习Java开发不可或缺的参考书籍...
- 如果子类和父类在不同包中,子类仍然可以继承protected成员,但不能直接访问默认(无修饰符)的包级私有成员。 6. 接口访问权限: - 接口中的所有成员默认都是public,即使没有显式声明。 7. 访问权限与多线程...
《Java核心技术 卷1 基础知识》是Java编程领域的经典之作,原书第9版下涵盖了Java语言的核心概念和基础知识,对于学习和理解Java编程有着极其重要的作用。本书旨在帮助读者掌握Java编程的基本技能,包括语法、类库、...
在Java编程语言中,访问权限控制是面向对象编程的一个核心概念,它确保了代码的安全性和封装性。这个压缩包“基于java的访问权限控制源代码.zip”很可能包含了一系列示例,用于演示如何在Java中实现不同级别的访问...
Java访问权限控制是Java编程语言中的核心特性之一,它为类和类的成员(如方法、变量)提供了安全的封装,确保代码的可维护性和稳定性。在这个压缩包中,我们很可能会找到关于Java访问修饰符的示例代码,用于演示不同...
私有成员只能在本类内部访问,而protected成员在子类和同一包内的其他类中可访问,public成员则全局可访问。 实验还涉及了类的继承和不同包之间的访问权限。在同一个包内,类可以继承并访问父类的非私有成员。而在...
计算机Java核心编程笔记 Java核心编程笔记是Java程序设计语言的基础知识笔记,涵盖了Java语言的基本概念、语法、数据类型、变量、控制流程、方法、类和对象等基本要素。 一、Java标识符和关键字 * 标识符: 由...
静态引入(static import)允许直接访问包中的静态成员变量和静态方法,语法是 `import static 包名.aaa.*;` 或 `import static 包名.aaa.方法名称;`。在示例代码中,静态引入了 `java.lang.System.out`,以便在无需...
在Java编程语言中,包(Package)是一种组织和管理类的方式,它可以帮助我们避免命名冲突并提供一定程度的访问控制。不同包之间的访问规则是Java访问控制的重要组成部分。本节将详细探讨不同包访问的原理和限制。 ...
- **描述**:`public`是最宽松的访问级别,它允许成员在任何地方被访问,不论是在同一个包内还是不同的包中,甚至是完全不同的程序。 - **用途**:`public`用于提供API接口,允许外部类自由地访问和调用类的公共成员...
在《Java核心技术卷一》中,第三章通常涵盖了Java编程的基础知识,包括但不限于类、对象、封装、继承和多态等核心概念。本章的学习旨在深入理解面向对象编程(OOP)的基础,这对于任何Java开发者来说都是至关重要的...
《Spring 4.3.4核心开发包详解》 Spring框架是Java开发中不可或缺的一部分,其4.3.4版本是2016年12月7日发布的最新GA(General Availability)版本,旨在提供稳定且高效的企业级应用支持。这个核心开发包包含了构建...
1. 访问修饰符:在Java中,访问修饰符用于控制类、方法和变量的可访问性。`public`是四种访问修饰符之一,表示该类、方法或变量可以被任何地方的任何代码访问,没有访问限制。在定义公共类时,我们通常使用`public ...
#### 十八、Java核心类库 - **知识点**: 选择题18考查Java的核心类库。Java的核心类库包含在**D.Java.lang**包中,该包包含了Java程序运行必不可少的系统类。 #### 十九、Java抽象类 - **知识点**: 选择题19考查...
Java文档,尤其是关于JavaSE(标准版)的知识,涉及了Java编程的核心概念,例如接口、类、继承、包和设计模式等。 接口是Java中的一个重要概念。在Java中,接口可以被视为一种特殊的类,它只包含抽象方法和常量。...
Java语言的访问控制符是编程时用来控制类、属性、方法和构造器访问权限的关键字。主要有四种:public、protected、默认(不修饰)和private。...了解和正确使用这些访问控制符对于编写健壮、可维护的Java代码至关重要。
3. **保护访问(protected)**:受保护的访问修饰符使得类的成员对于同一包内的所有类以及不同包中的子类可见。这提供了一种方式,让子类可以访问和扩展其父类的非public成员。 4. **私有访问(private)**:私有...