JavaSE学习 外部调用内部类的方法(一)

Title:内部类(三)内部类的使用

Time:

Author:weir

内部类:

1-在外部类中使用:使用的方式直接使用内部类类名

2-在外部类中使用;

1-条件:内部类不能使用private修饰,使用对应访问修饰符(public protect default)【详细参考访问修饰表】

2-使用方式:

1-非静态内部类实例:

1-创建外部类对象实例

2-通过外部类对象创建内部类

3-内部类的使用

2-静态内部类实例;

class Outterclass {
	// 定义内部类,位置任意
	private int weight;
	private int hight;

	public void setter(int w, int h) {
		this.weight = w;
		this.hight = h;
		System.out.println("Here is a setter Function,and i am outter class" + "  w:" + weight + "  h:" + hight);
	}

	public class inner {
		private int inner_var=666;
		void info() {
			System.out.println("this is a inner class!\nI know your input weight:" + weight
					+ "  I know your input hight:" + hight);
		}
	}
	public static class Static_inner{
		void test(){
			System.out.println("这里直接使用在调用静态内部类的方法!");
		}
	}
}

public class Demo {
	public static void main(String[] args) {
		System.out.println("_____________________________________________");
		System.out.println("!非静态内部类测试实例!");
		//1-创建外部类对象实例
		Outterclass out=new Outterclass();
		//2-通过外部类对象创建内部类
		Outterclass.inner in= out.new inner();
		//3-内部类的使用
		in.info();
		System.out.println("!非静态内部类测试实例的简洁形式!");
		Outterclass.inner in1=out.new inner();
		in1.info();
		System.out.println("_____________________________________________");

		System.out.println("!静态内部类测试实例!");
		new Outterclass.Static_inner().test();
		System.out.println("_____________________________________________");
	}
}
时间: 2024-08-28 09:08:24

JavaSE学习 外部调用内部类的方法(一)的相关文章

JavaSE学习总结第10天_面向对象5

10.01 运动员和教练案例分析 教练和运动员案例:运动员分乒乓球运动员和篮球运动员,教练分乒乓球教练和篮球教练.为了出国交流,跟乒乓球相关的人员都需要学习英语. 分析: 10.02 运动员和教练案例实现 1 //定义一个说英语的接口 2 interface SpeakEnglish 3 { 4 //说英语 5 public abstract void speak(); 6 } 7 8 //定义人的抽象类 9 abstract class Person 10 { 11 private Strin

wxWidgets初学者导引(4)——wxWidgets学习资料及利用方法指导

wxWidgets初学者导引全目录   PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wxSmith进行可视化设计附:学习材料清单 4 wxWidgets学习资料及利用方法指导 初学者常苦于找不到参考资料.实际上,是找不到,不是没有.真正有用的资料,常常也就在手边,只是不知道.有能力熟练地使用一切能用得着的资料,这是水平提高的指标之一.这种能力,同样,也是在实践中获得,而不是有谁为你讲一堂课就能得

tornado 学习之GET POST方法 -- ()转

1 import torndb 2 import tornado.web 3 import tornado.ioloop 4 from tornado.options import define,options,parse_command_line 5 6 define('port',default=8888,help='run on the port',type=int) 7 database=torndb.Connection('localhost','talk',user='root',p

Java学习-025-类名或方法名应用之二 -- 统计分析基础

前文讲述了类名或方法的应用之一调试源码,具体请参阅:Java学习-025-类名或方法名应用之一 -- 调试源码 此文主要讲述类名或方法应用之二统计分析,通过在各个方法中插桩(调用桩方法),获取方法的调用关系.通过调用关系,我们可以统计出被调用次数比较多的方法,同时也可以构建全系统调用关系链:通过操作重要业务流程,可以统计组成重要业务流程的主要方法,加强相应的单元测试.功能.安全.性能等方面的测试.对于软件产品质量控制存在非凡的意义. 下面构建的演示示例调用关系如下所示: GetClassMeth

大龙的学习笔记之“虚方法,抽象方法,重写,抽象类,接口”

虚方法:可以重写,也可以不重写,英文名:virtual 抽象方法:必须重写,必须放在抽象类中,英文名:abstract 重写:可以重写三种方法:virtual,abstract,override,英文名:override 抽象类:可以有抽象方法,也可以有非抽象方法,英文名:abstract 接口:和抽象类相似,但是里面只有未实现的方法,英文名:interface 大龙的学习笔记之"虚方法,抽象方法,重写,抽象类,接口",布布扣,bubuko.com

Java学习-025-类名或方法名应用之一 -- 调试源码

上文讲述了如何获取类名和方法名,敬请参阅: Java学习-024-获取当前类名或方法名二三文 . 通常在应用开发中,调试或查看是哪个文件中的方法调用了当前文件的此方法,因而在实际的应用中需要获取相应的包名.类名.方法名.行数,从而快速定位,及统计方法被调用的次数,生成类方法关系链. 相信爱钻研的小主们,通过上篇文章,已经懂得了,如何获取主调方法.从调方法.那我直接上码了,敬请各位小主参阅,若有不足之处,敬请各位大神指正,不胜感激! GetClassMethodName.java 源码内容如下所示

javasE学习笔记:关键字super的使用

/* super 的作用: 1 . super可以在子类中引用父类的成员,通过 .的方式和属性.this相对应. 2. 在子类的构造方法中可以可使用super(参数列表)语句调用父类的构造方法 3. 注意: 子类的构造方法中一定要调用父类的构造方法.... */ javasE学习笔记:关键字super的使用,布布扣,bubuko.com

Spring MVC学习之三:处理方法返回值的可选类型

转自:http://www.cnblogs.com/cuizhf/p/3810652.html ———————————————————————————————————————————————————————————— spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void.下面将对具体的一一进行说明: ModelAndView @RequestMapping("/show1") publ

学习编程语言最好的方法是什么

在问答 | 我适合做软件开发吗一文中,列出了当时汇总的7个问题,其中"我是否适合做软件开发"."怎样开始行动"."学哪种语言"这个问题都聊过了,这次我们来谈谈怎么学习的问题. 记得曾经在我的微信公众号"程序视界"发布过一篇题为"怎样新学一门技术的文章",里面讲了很多东西,现在看看也还有价值,推荐一下.这次呢,我想说的和那篇文章不一样,主要从下面两点来谈: 学习方法 效果度量 什么学习方法适合我? 知乎上有一