`
mengzhiang
  • 浏览: 23962 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA 嵌套类学习

阅读更多

嵌套类意思是静态的内部类,与C++不同,嵌套内部类可以访问外围类的属性和方法。

1:普通内部类不能创建 static 的属性和方法,因为外部无法直接访问内部类,只能通过外部类。
2:嵌套类可以创建 static 的属性和方法,并且因为嵌套类是static的,这样可以通过外部类加上点来访问内部类,而且可以直接访问内部类的静态方法。
3:接口内部也可以嵌套类,接口内部的类默认是静态和public的,可以通过接口名来访问内部类,这个内部类是这个接口名下的而已。

 

1:普通内部类不能创建static属性和方法

public class TestNested {
	class InnerClass{
		public String name;
		/**内部类不能被外部直接访问,所以内部类不能定义static的方法和属性*/ 
		//public static String age;
	}
}

2:静态内部类(即嵌套类可以创建 static 的属性和方法) 

 

public class TestNested2 {
	private static String OutStaticName="OutStaticName";
	private  String outName="OutName";
	static class InnerClass{
		public String name;
		//静态内部类可以定义static的方法和属性,并且可以访问外部类的属性
		public static String age;
		public  static String getOutNameStatic(){
			return OutStaticName;
		}
//		public String getOutName(){
//			return outName;
//		}
	}
}

 

3:接口内部可以嵌套类

 


//接口内部的类默认是public和static的,可以用来存放够接口实现共享的公共代码
public interface Test21 {
	 String test();
	 class NestedClass {
		static void rettest(Test21 t){
			System.out.println(t.test());
		}
	}
}

public class Test21Class implements Test21{
	public String test() {
		return "in Test21Implments";
	}
}
import junit.framework.TestCase;
public class C extends TestCase {
	public void testTest21(){
		Test21.NestedClass.rettest(new Test21Class());
	}
}

 

4:内部类可以访问外部类的所有内容

 

//内部类无论嵌套多少层都可以访问外部类的所有属性和方法
public class MNA {
	private void f(){System.out.println("MNA.f();");};
	class A{
		private void g(){System.out.println("MNA.B.g()");}
		class B{
			public void h(){
				f();
				g();
			}
		}
	}
}
import junit.framework.TestCase;
public class TestMNA extends TestCase {
	public void testmn(){
		MNA m = new MNA();
		//外部类对象创建嵌套类通过.new 方法
		MNA.A ma = m.new A();
		MNA.A.B mab = ma.new B();
		mab.h();
	}
}
0
9
分享到:
评论

相关推荐

    java嵌套接口程序

    java 嵌套接口 程序 学习java必须要学习的经典案例,加油学习把

    java和kotlin的内部类静态嵌套类

    Java和Kotlin是两种在移动开发领域广泛应用的编程语言,尤其在Android开发中占据主导地位。内部类和静态嵌套类是...在提供的资源中,"java内部类嵌套类"和"kotlin内部类嵌套类"的示例代码将帮助你进一步巩固这些概念。

    java for语句嵌套练习,打印各种星型

    这是一个关于Java的for语句嵌套练习,可以打印出各种星型,供大家学习,很有意思哦~~

    嵌套类的学习

    嵌套类是面向对象编程中的一个重要概念,它在Java、C#等编程语言中被广泛使用。嵌套类,顾名思义,就是在类内部定义的另一个类,它可以是静态的,也可以是非静态的,根据其特性,可以分为内部类(Inner Class)和...

    java try…catch嵌套捕获异常的实例

    总结来说,`try-catch`嵌套在Java中用于更精细化的异常处理,允许我们针对不同类型的异常执行不同的恢复策略。通过这种方式,我们可以编写更健壮、更易维护的代码,确保程序在面对错误时能够优雅地处理并继续运行。

    漂亮的java嵌套火狐内核浏览器

    在给定的"漂亮的java嵌套火狐内核浏览器"项目中,开发者利用Java语言实现了以火狐内核为基础的嵌入式浏览器,旨在提供一种美观且高效的浏览体验。这个项目的特色在于它将火狐的浏览能力整合到Java应用程序中,使得...

    Java语言基础入门教程 Java实训教程 14.嵌套类等 共34页.pptx

    通过本章的学习,我们了解了静态嵌套类和内部类的基本概念及使用方法。静态嵌套类主要用于当内部类不需要引用外部类实例的情况,而内部类则提供了更紧密的封装机制,使得内部类可以直接访问外部类的成员。在实际开发...

    漂亮的java嵌套浏览器IE,chrome

    在给定的标题“漂亮的java嵌套浏览器IE,chrome”中,我们可以看出这是关于一个Java库,它支持内嵌两种流行的浏览器引擎:Internet Explorer(IE)和Google Chrome。这样的功能对于开发需要展示网页内容或与网页交互...

    实用小工具:Java实体类对比、Json对比、字符串动态拼接等功能

    标题中的“实用小工具:Java实体类对比、Json对比、字符串动态拼接等功能”涉及到的是在软件开发过程中常用的几个技术点,主要集中在Java后端和前端Vue.js的应用上。这里我们将详细探讨这些知识点: 1. **Java实体...

    Java内部类总结

    Java内部类主要包括以下几种类型:成员内部类(非静态内部类)、静态内部类(也称为静态嵌套类)、局部内部类和匿名内部类。 - **成员内部类**:这种类型的内部类是定义在外部类的一个成员位置上,它可以访问外部类...

    java内部类学习资料

    4. **嵌套接口**:虽然不是严格意义上的内部类,但Java允许接口嵌套在其他类内部,这有助于将相关的接口组织在一起。 5. **静态工厂方法**:有时,内部类会被用作创建对象的工具,通过静态工厂方法(非static的工厂...

    java实验大全 多态 嵌套 接口 同步 异常处理 多线程

    Java实验报告涵盖了一系列关键知识点,包括基础运算、控制语句与数组、多态与嵌套、接口和GUI编程,以及异常处理和多线程。以下是对这些知识点的详细阐述: 1. **基本运算**:Java提供了多种基本数据类型,如整型、...

    Java 条件运算符的嵌套实例.rar

    Java练习条件运算符使用,利用条件运算符的嵌套来完成学习成绩优秀、良好等的分类> =90分的同学用A表示, 60-89分之间的用B表示,60分以下的用C表示。测试时请输入N的值,输入exit则退出程序。主要是代码:  String...

    java网页嵌套游戏游戏

    在“演示作品”这个文件中,可能包含了使用Java开发的网页嵌套游戏的源代码或者预编译的类文件。这些文件可以帮助开发者理解如何实现这样的游戏,包括图形渲染、用户输入处理、游戏逻辑控制等方面。通过研究这些代码...

    java循环嵌套

    Java中的循环嵌套是编程基础中的重要概念,它允许我们在一个循环体内再嵌套另一个循环,从而实现更复杂的逻辑控制。对于初学者来说,理解并掌握这一知识点是至关重要的。 首先,我们需要回顾一下Java中的三种基本...

    Java 干货之深入理解Java内部类(学习资料)

    Java 内部类是 Java 语言的一个重要特性,允许在一个类的定义内嵌套其他类。这使得 Java 能够实现一些特殊的编程模式,比如模拟多重继承和解决多次实现问题。内部类根据其定义的位置和用途,可以分为四种类型:成员...

    Java精华学习资料

    深入理解嵌套类和内部类 文件和流 java中的一些常用词汇 J2SE学习中的30个基本概念 Java线程 Java 5.0多线程编程 Java Socket编程 Java的内存泄漏 抽象类与接口的区别 Java变量类型间的相互转换 ……

    java for循环嵌套

    for循环嵌套 java for循环嵌套

    嵌套Map或者List获取key、value值

    在编程中,尤其是在Java或类似的面向对象语言中,我们经常遇到需要处理复杂数据结构的情况,如嵌套的Map和List。...文件"map、List嵌套的循环检索方法.txt"可能提供了更具体的示例和代码,可以作为进一步学习的参考。

    Java内部类(innerclass).docx

    在Java编程中,嵌套类是一种重要的面向对象设计工具,它允许程序员在一个类的内部定义另一个类。这种特性极大地增强了Java语言的灵活性和封装能力。 #### 二、嵌套类分类 嵌套类主要分为两大类:**静态嵌套类**...

Global site tag (gtag.js) - Google Analytics