Java学习笔记——内部类及其调用方法
2013-07-19 16:26
573 查看
一、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
相关文章推荐
- Android NDK (学习笔记八) —— Java代码与C代码间方法的调用
- JNI学习笔记3——本地方法取得Java属性/调用java方法
- Android(java)学习笔记228:服务(service)之绑定服务调用服务里面的方法
- Android(java)学习笔记229:服务(service)之绑定服务调用服务里面的方法 (采用接口隐藏代码内部实现)
- java反射学习笔记(3)----使用反射来调用方法
- JNI学习笔记:(1)开篇(2)本地代码访问Java代码 (3)本地方法取得Java属性/调用java方法 (4)本地代码创建Java对象(包括javaString) (5) 本地方法处理java数组
- 【Java】内部类及其调用方法
- Java学习笔记-方法递归调用
- 【Java学习笔记】父类引用指向子类对象时方法的调用
- Java学习笔记之RMI远程方法调用
- Java学习笔记——子类调用父类属性方法
- java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释
- Java学习笔记54. 子类对父类构造方法的隐式调用
- Java学习笔记15(面向对象八:匿名对象、内部类)
- 深入理解Java虚拟机笔记---方法调用
- JavaWeb学习笔记-mybatis-07-dao开发使用(原始dao方法)
- JAVA学习笔记_使用Servlet3.0上传图片,无法使用part.getSubmittedFileName()方法解决
- Java学习笔记-修饰符可修饰的属性方法
- Java学习笔记-匿名内部类
- 【Java学习笔记】28:再谈四种内部类