`
v5browser
  • 浏览: 1139004 次
社区版块
存档分类
最新评论

Java学习笔记——内部类及其调用方法

 
阅读更多

一、static内部类的static方法

public class Test0719_Inner_Test {
	public static void main(String[] args) {
		//static内部类的static方法。。。
		Outter.InnerStatic.InnerNameee();
		System.out.println(Outter.InnerStatic.jjj);
		System.out.println();
	}
}
class Outter {
	String i = "非static"; 
	static String j = "static";
	static class InnerStatic{
		static String jjj = "内部类的static"; 
		public static void InnerNameee() {
			System.out.println("static内部类的static方法。。。");
			//static内部类访问外部类的static成员
			System.out.println(j);
			//static内部类访问外部类的非static成员
			System.out.println(new Outter().i);
		}
	}
}

运行结果:
static内部类的static方法。。。
static
非static
内部类的static

二、static内部类的非static方法

public class Test0719_Inner_Test {
	public static void main(String[] args) {
		//static内部类的非static方法
		Outter.InnerStatic inner = new Outter.InnerStatic();
		inner.InnerName();
		System.out.println(inner.iii);
		System.out.println();
	}
}
class Outter {
	String i = "非static"; 
	static String j = "static";
	static class InnerStatic{
		String iii = "内部类的非static";
		public void InnerName() {
			System.out.println("static内部类的非static方法");
			//static内部类访问外部类的static成员
			System.out.println(j);
			//static内部类访问外部类的非static成员
			System.out.println(new Outter().i);
		}
	}
}

运行结果:
static内部类的非static方法
static
非static
内部类的非static

三、非static内部类的非static方法

public class Test0719_Inner_Test {
	public static void main(String[] args) {
		//非static内部类的非static方法…………
		Outter.InnerNoStatic innerNoStatic = new Outter().new InnerNoStatic();
		innerNoStatic.InnerNoName();
		System.out.println(innerNoStatic.iiiNoStatic);
	}
}
class Outter {
	String i = "非static"; 
	static String j = "static";
	class InnerNoStatic{
		int iiiNoStatic = 99776;
		public void InnerNoName() {
			System.out.println("非static内部类的非static方法…………");
			//非static内部类访问外部类的static成员
			System.out.println(Outter.j);
			//非static内部类访问外部类的非static成员
			System.out.println(i);
		}
	}
}

运行结果:
非static内部类的非static方法…………
static
非static
99776

四、综合练习

package com.acc;

public class Test0719_Inner2 {
	String str = "孙洋洋";

	class Text2 {
		int i = 1;

		void m2() {
			System.out.println(new Test0719_Inner2().str);
		}

		class Text3 {
			int k = 3;

			public void m1() {
				System.out.println("m1的"+ new Test0719_Inner2().str);
			}
		}
	}

	public static void main(String[] args) {
		Test0719_Inner2.Text2 text2 = new Test0719_Inner2().new Text2();
		text2.m2();
		System.out.println();

		Test0719_Inner2.Text2.Text3 text3 = new Test0719_Inner2().new Text2().new Text3();
		text3.m1();
	}
}

运行结果:
孙洋洋


m1的孙洋洋

五、汇总

package com.test;


public class Test0719_Inner_Test {
	public static void main(String[] args) {
		//static内部类的static方法。。。
		Outter.InnerStatic.InnerNameee();
		System.out.println(Outter.InnerStatic.jjj);
		System.out.println();
		//static内部类的非static方法
		Outter.InnerStatic inner = new Outter.InnerStatic();
		inner.InnerName();
		System.out.println(inner.iii);
		System.out.println();
		//非static内部类的非static方法…………
		Outter.InnerNoStatic innerNoStatic = new Outter().new InnerNoStatic();
		innerNoStatic.InnerNoName();
		System.out.println(innerNoStatic.iiiNoStatic);
	}
}
class Outter {
	String i = "非static"; 
	static String j = "static";
	static class InnerStatic{
		String iii = "内部类的非static";
		static String jjj = "内部类的static"; 
		public void InnerName() {
			System.out.println("static内部类的非static方法");
			//static内部类访问外部类的static成员
			System.out.println(j);
			//static内部类访问外部类的非static成员
			System.out.println(new Outter().i);
		}
		public static void InnerNameee() {
			System.out.println("static内部类的static方法。。。");
			//static内部类访问外部类的static成员
			System.out.println(j);
			//static内部类访问外部类的非static成员
			System.out.println(new Outter().i);
		}
	}
	
	class InnerNoStatic{
		int iiiNoStatic = 99776;
		public void InnerNoName() {
			System.out.println("非static内部类的非static方法…………");
			//非static内部类访问外部类的static成员
			System.out.println(Outter.j);
			//非static内部类访问外部类的非static成员
			System.out.println(i);
		}
	}
}

运行结果:
static内部类的static方法。。。
static
非static
内部类的static


static内部类的非static方法
static
非static
内部类的非static


非static内部类的非static方法…………
static
非static
99776
分享到:
评论

相关推荐

    c#学习笔记——学习心得

    C#中的各种名词: 常数:声明时用const修饰,是隐式静态类型 域:一个代表和某对象或类相关的变量的成员 字段:和属性相同,是用来存储对象的值,可以...派生类调用基类的方法可以使用base关键字,如base.Method();

    Java JDK 7学习笔记(国内第一本Java 7,前期版本累计销量5万册)

     《java jdk 7学习笔记》适合java的初中级读者,以及广大java应用开发人员。 作译者 林信良(网名:良葛格) 学历:台湾大学电机工程学系 经历:台湾升阳教育训练技术顾问、专业讲师,oracle授权训练中心讲师 ...

    清华妹子的Java仓库(进阶学习路线)

    本仓库记录了我的Java学习进阶之路,涵盖了Java基础、JDK源码、JVM中的重要知识,附有代码和博客讲解,旨在提供一个Java在线共享学习平台,帮助更多的Java学习入门者进阶。 Java学习 本仓库记录了我的Java学习进阶...

    c#学习笔记.txt

    c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] 51099在线学习网 http://www.51099.com 1, 结构(struct) 与 类(class) [attributes] [modifiers] struct ...

    java7rt.jar源码-Java_JVM:这是我的JavaJVM学习笔记

    Runtime或System类调用exit()方法或Runtime调用half()方法 JVM的框架: 执行引擎: (字节)解释器 + JIT(java即时编译器) 前者是用 PC计数器 来依次编译每一行代码解释为本地机器指令; 后者是通过 寻找热点代码 进行...

    Java并发学习笔记(二)——Synchronized关键字与ReetrantLock同步锁

    被Synchronized 关键字描述的方法或代码块在多线程环境下同一时间只能由一个线程进行访问,因为在持有当前锁的线程执行完成之前,其他线程想要调用相关方法就必须进行排队,直到当前线程执行完成才释放锁给其他线程...

    Mysql的学习笔记01

    比如mysql的Java的JDBC驱动程序——mysql-connector-java-5.1.26-bin.jar。再比如.net平台的操作数据库的规范ADO。 模块2:连接池,Mysql自身有个连接池,为了连接线程的复用,Mysql将其进行了池化。将连接资源进行...

    javascript从入门到跑路—–小文的js学习笔记(7)——–js函数

    javascript从入门到跑路—–小文的js学习笔记(1)———script、alert、document。write() 和 console.log 标签 … … javascript从入门到跑路—–小文的js学习笔记目录 ** 在说函数前,补充一个函数的作用域的知识...

    swing界面设计之JTree

    (十七) Swing 学习笔记 108 Swing API 包括18个公共包: 108 例程1.1 HelloWorldSwing.java 109 例程2.2 HelloWorldJFrame.java 110 (十八) 动态加载文件树的java程序 111 FileSystemTree.java源代码 112 //内部类 ...

    matlab导入excel代码-WithBeingIT:Java,注意事项

    matlab导入excel代码 WithBeingIT Java、Notes 用过纸质笔记本,用过本地文件,用过oneNote,用过有道云笔记。除了有道云笔记,均因维护不善而不了了之 后知后觉:目前认为,...内部类/匿名类调用外部类的this:类名.t

    高级java笔试题-itresource:程序开发技术资源集合

    heavyz的Tomcat学习笔记(包括启动流程分析、启动脚本分析) ] () [ java8 新特性讲解系列文章 ] () [ Java 从Jar文件中动态加载类 ] () [ Java并发源码分析 - ThreadPoolExecutor ] () [ java ClassLoader 基本原理 ]...

    第七次作业解析——日志文件程序

    仿照讲义上的TextIO类,设计一个日志文件程序,每天在图形式的GUI界面上添加当天的Java学习笔记,注意不要改写,而是不断追加内容写入同一个文本文件中。有余力的同学,可以设计日志格式,添加日期或时间戳,以及...

    java连接sqoop源码-aws-big-data-cert:AWS大数据专业认证学习笔记

    java连接sqoop源码AWS 大数据专业证书研究 免责声明:本指南是我学习的尾声,因此并不完整,主要集中在琐事/问题上。 取自 . 数据采集 服务说明 200 毫秒延迟(1 个标准消费者),70 毫秒,增强型扇出 HTTP2 推送...

    asp.net知识库

    VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...

    jive.chm

    系统设计 1 jive设计思路 2 jive的工作内幕 3 Jive源代码研究 4 Jive中的设计模式 5 jive学习笔记 <br> 设计模式 1 大道至简-Java之23种模式一点就通 2 设计模式...

    Jive资料集

    系统设计 1 jive设计思路 2 jive的工作内幕 3 Jive源代码研究 4 Jive中的设计模式 5 jive学习笔记 <br> <br> 数据库设计 1 Jive Forums数据库说明(英文) 2 Jive KB...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...

    若干源程序资料12.rar

    2012-06-11 21:35 50,176 关于c语言和汇编语言相互嵌套调用的学习总结.doc 2012-06-11 21:11 190,993 典型算法包.rar 2012-06-11 21:16 264,555 内存管理和设备调试中文.pdf 2012-06-11 21:30 267,989 冈萨雷斯数字...

Global site tag (gtag.js) - Google Analytics