尊重原创,文章原地址:http://blog.csdn.net/chunlei_zhang/article/details/38391847
内部类和外部类的关系,及内部静态类的数据访问权限,声明方式。
第一种,在外部类内部声明使用内部类,内部类的类型为static和非 static类型,内部类数据类型为private,protected,public 类型的访问权限。外部类为非静态声明和权限如下:
package com;
public class Test1 {
//@author 张春蕾
private class Name{
private int i =1;
public int s = 2;
protected int m =3;
}
public static void main(String[] args){
Test1 test = new Test1();
<span style="color:#ff0000;">Test1.Name name = test.new Name();
System.out.print(name.i);</span>
System.out.print(name.s);
System.out.print(name.m);
}
}
声明方式,而且所有的内部参数不论什么都可以输出。当内部类为静态类时,声明方式会发生变化:
package com;
public class Test1 {
//@author 张春蕾
private static class Name{
private int i =1;
public int s = 2;
protected int m =3;
}
public static void main(String[] args){
Test1 test = new Test1();
<span style="color:#ff0000;">Test1.Name name = new Name();</span>
System.out.print(name.i);
System.out.print(name.s);
System.out.print(name.m);
}
}
上面的方式都是在
Test1的内部进行访问,现在外部的
Test2力访问情况为第二种,当内部类为非静态的时候的声明方式:
package com;
public class Test1 {
//@author 张春蕾
<span style="color:#33cc00;">protected</span> class Name{
private int i =1;
public int s = 2;
protected int m =3;
}
public static void main(String[] args){
Test2 t = new Test2();
t.test();
}
}
class Test2{
public void test(){
<span style="color:#009900;">Test1 test = new Test1();
Test1.Name name = test.new Name();//跟第一种情况一样
System.out.println(name.m);
System.out.print(name.s);</span>
}
}
</pre><p></p><pre>
跟第一种的非静态内部类的声明方式相同,不过不能访问内部静态变量,当内部类为静态时,访问形式:
package com;
public class Test1 {
//@author 春蕾
<span style="color:#33cc00;">protected</span> static class Name{
private int i =1;
public int s = 2;
protected int m =3;
}
public static void main(String[] args){
Test2 test2 = new Test2();
test2.test();
}
}
class Test2{
public void test(){
<span style="color:#009900;">Test1.Name name2 = new Test1.Name();
System.out.print(name2.m);
System.out.print(name2.s);</span>
}
}
分享到:
相关推荐
本文将详细探讨Java中的五种权限修饰符:`public`、`protected`、`default`(也称为包访问权限)、`private`以及`static`修饰类的情况,并通过实例来展示这些修饰符的具体应用。 #### 1. Public - **概述**: - `...
首先,Java提供了四种基本的访问权限控制修饰符: 1. **public**:公共访问修饰符,允许任何地方的任何类访问。如果一个类、接口或方法被声明为public,那么它们可以在程序的任何地方被调用。 2. **protected**:...
6. **访问权限**:内部类可以访问外部类的所有成员,包括私有成员,这是其独特的优势,但同时也应谨慎处理,避免数据的不安全暴露。 7. **编译后的独立性**:Java编译后,内部类会被单独编译成`.class`文件,文件名...
在Java编程语言中,访问权限控制是至关重要的一个部分,它确保了代码的封装性和安全性。本文将深入探讨Java中的访问权限验证,包括其概念、种类以及如何在实践中应用。 **一、访问权限概述** Java提供了四种不同的...
1. 成员内部类:在类的主体中定义,与类的其他成员具有相同的权限。 2. 局部内部类:在方法、构造器或块中定义,仅在其定义范围内可见。 3. 匿名内部类:没有名字的内部类,通常用作接口的匿名实现或创建一次性使用...
内部类根据其定义的位置和用途,可以分为四种类型:成员内部类、局部内部类、匿名内部类和静态内部类,每种都有其特定的使用场景和规则。 1. 成员内部类 成员内部类就像是类的成员变量一样,可以被权限修饰符修饰,...
总之,Java内部类提供了一种灵活的方式来组织和管理代码,增加了代码的复用性和可读性,同时也让设计模式如策略模式、装饰器模式等在Java中得以轻松实现。理解并熟练运用内部类是提升Java编程能力的关键步骤之一。
Java内部类,也称为嵌套类,是Java编程语言中的一种独特特性,允许在一个类的内部定义另一个类。这种设计模式提供了多种优势,包括数据隐藏、访问权限控制、多重继承模拟以及方法重载的替代方案。 首先,内部类能够...
内部类可以是静态的或非静态的,它们可以访问外部类的所有成员,包括私有成员,因为它们拥有对外部类的直接访问权限。在实验1中,`School_ly` 类有一个内部类 `InnerNewsPaper`,它代表校内的报纸。`InnerNewsPaper`...
在没有指定任何访问修饰符的情况下,类、接口、方法和字段将具有这种默认的访问权限。 通过合理使用这四种访问控制,我们可以控制代码的可见性和访问性,从而实现良好的模块化设计。例如,我们可以把敏感数据设为...
3. **访问控制与安全性**:Java的安全模型基于类加载器和访问权限,防止恶意代码对敏感资源的访问。Java安全管理器(Security Manager)负责检查运行时的权限。 4. **Java Security Manager**:这是Java平台的一...
在Java编程语言中,访问权限控制是至关重要的,它决定了类、接口、字段以及方法的可见性和可访问性。理解Java的访问权限表对于编写健壮、安全且易于维护的代码至关重要。以下是对这一主题的详细说明: 1. **公共...
综上所述,"控制器(内部类)"这一主题涵盖了Java内部类的使用以及在MVC模式下的控制器设计。通过合理地利用内部类,我们可以创建更加灵活、结构清晰的控制器,提高代码的复用性和可读性。在实际项目中,理解并掌握...
Java中通过不同的访问权限修饰符控制类、变量、方法的可见性: - **public**:公开的,对所有类可见。 - **protected**:受保护的,对同一个包内的类以及其他包中的子类可见。 - **default(无修饰符)**:默认的,...
获取`Class`对象主要有三种方式:使用`Class.forName()`方法,通过类的`.class`属性,或者直接对类实例使用`getClass()`方法。 例如,如果我们有一个名为`Person`的类,我们可以这样做: ```java Class<?> person...
压缩包中的"实例83 访问权限控制"可能包含一个实际的Java程序,演示了如何使用不同访问修饰符创建类、方法和变量,并展示了它们的访问效果。通过运行和分析这个案例,你可以更好地理解Java访问控制的实际应用。 ...
在Java编程语言中,包(Package)和访问权限(Access Control)是两个核心概念,它们对于代码的组织、模块化以及安全控制具有重要意义。在这个主题中,我们将深入探讨这两个概念,以及它们如何在Java中相互作用。 ...
内部类是Java编程中一种特殊的类,它定义在另一个类的内部。这种设计模式使得内部类可以访问外部类的所有成员,包括私有成员(private),并且提供了更好的封装性。内部类分为四种类型:成员内部类、局部内部类、...
这个压缩包“基于java的访问权限控制源代码.zip”很可能包含了一系列示例,用于演示如何在Java中实现不同级别的访问控制,以便管理类、方法和变量的可见性和可访问性。 在Java中,访问修饰符主要有四种:`public`、...