java内部类 2016年12月13号
1、在外部类的任意位置创建内部类对象的方法:
1)从外部类的非静态方法之外的任意位置创建某个内部类的对象,必须指明这个对象所在的外部类和内部类:OuterClassName.InnerClassName。如:
package cn.qdu.parcel;
/**
* 内部类的第一个例子
* @author cena 2016/12/13 at BoZhi
*
*/
public class Parcel {//外部类
class Contents{//内部类
private int i=11;
public int value(){
return i;
}
} class Destination{//内部类
private String label;
Destination(String whereTo){
label=whereTo;
}
String readLabel(){return label;}
}
//下面是外部类中定义的3个方法
public Destination to(String s){
return new Destination(s);
} public Contents contents(){
return new Contents();
} public void ship(String dest){
Contents c=contents();
Destination d=to(dest);
System.out.println(d.readLabel());
} public static void main(String[] args) {
Parcel p=new Parcel();
p.ship("Tasmaina");
Parcel q=new Parcel();
//在外部类的非静态方法之外的任意位置创建某个内部类的对象,必须具体地指明这个对象的类型:OuterClassName.InnerClassName。
Parcel.Contents c=q.contents();//定义内部类对象的方法
Parcel.Destination d=q.to("Borneo");
}
}
2)外部类的static方法建立内部类问题。如:
class Outer{//外部类
class Inner{//内部类
}
public static method(){
Outer out=new Outer();//要先创建外部类的对象
Inner in=out.new Inner();
}
}
method()方法属于外部类的静态方法,内部类Inner相当于外部类的一个非静态方法Inner(){},创建内部类对象时需要先创建外部类对象out,用外部类Outer的out对象之后才能去定义Inner对象,这个道理就如同在静态方法中不能直接调用非静态方法一样。
java内部类 2016年12月13号的更多相关文章
- 2016年12月13日 星期二 --出埃及记 Exodus 21:8
2016年12月13日 星期二 --出埃及记 Exodus 21:8 If she does not please the master who has selected her for himsel ...
- WinForm 进程、线程、TreeView递归加载、发送邮件--2016年12月13日
进程:一个程序就是一个进程,但是也有一个程序需要多个进程来支持的情况 进程要使用的类是:Process它在命名空间:System.Diagnostics; 静态方法Start(); Process.S ...
- 2016年12月18日 星期日 --出埃及记 Exodus 21:13
2016年12月18日 星期日 --出埃及记 Exodus 21:13 However, if he does not do it intentionally, but God lets it hap ...
- 北京Uber优步司机奖励政策(12月13日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 2019第一期《python测试开发》课程,10月13号开学
2019第一期<python测试开发>课程,10月13号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:10月13号-12月8号,每周六.周日晚上20: ...
- 2016年12月31日 星期六 --出埃及记 Exodus 21:26
2016年12月31日 星期六 --出埃及记 Exodus 21:26 "If a man hits a manservant or maidservant in the eye and d ...
- 2016年12月30日 星期五 --出埃及记 Exodus 21:25
2016年12月30日 星期五 --出埃及记 Exodus 21:25 burn for burn, wound for wound, bruise for bruise.以烙还烙,以伤还伤,以打还打 ...
- 2016年12月29日 星期四 --出埃及记 Exodus 21:24
2016年12月29日 星期四 --出埃及记 Exodus 21:24 eye for eye, tooth for tooth, hand for hand, foot for foot,以眼还眼, ...
- 2016年12月28日 星期三 --出埃及记 Exodus 21:23
2016年12月28日 星期三 --出埃及记 Exodus 21:23 But if there is serious injury, you are to take life for life,若有 ...
随机推荐
- iOS开发网络篇—NSURLConnection基本使用(一)
一.NSURLConnection的常用类 (1)NSURL:请求地址 (2)NSURLRequest:封装一个请求,保存发给服务器的全部数据,包括一个NSURL对象,请求方法.请求头.请求体.. ...
- [Nginx][HttpUpstreamModule]翻译负载均衡
英文原文地址:http://nginx.org/en/docs/http/ngx_http_upstream_module.html 大纲: 示例 指令 嵌入变量 ngx_http_upstream_ ...
- CentOS6.5+nginx+tomcat负载均衡集群
思路: 1.安装jdk 2.安装tomcat 3.安装nginx依赖库 4.安装nginx 5.nginx+2个tomcat集群 一:网络拓扑
- PHP session 跨子域问题
今天,做项目时候遇到个问题.之前做东西的时候session一般就直接存在数据库中这样就能解决跨域 不仅仅是跨子域,但是今天遇到这个问题是,自己要在别人现有的东西上面做修改.由于仅仅是子域 当时就行肯定 ...
- 将Session写入Memcache
通过session_set_save_handler()方法自定义Session写入Memcache <?php class MemSession{ private static $handle ...
- loadrunner常用函数
1.关联函数:web_reg_save_param("session", "LB=value=", "RB=>", LAST);
- 续Gulp使用入门-综合运用>使用Gulp构建一个项目
这是我的文件目录结构图 下面是我gulpfile.js的配置 'use strict' var gulp=require('gulp'); var gutil=require('gulp-util' ...
- 05_最长公共子序列问题(LCS)
问题来源:刘汝佳<算法竞赛入门经典--训练指南> P60 问题7: 问题描述:给两个子序列A和B,求长度最大的公共子序列.比如1,5,2,6,8,和2,3,5,6,9,8,4的最长公共子序 ...
- TarJan 算法求解有向连通图强连通分量
[有向图强连通分量] 在有向图G中,如果两个 顶点间至少存在一条路径,称两个顶点强连通(strongly connected).如果有向图G的每两个顶点都强连通,称G是一个强连通图.非强连通图有向图的 ...
- ejabberd常见配置说明
1.数据库配置 ejabberd默认安装后使用的是自带的数据库,可以通过配置使用其他的数据库如Mysql.Sqlserver.Postgresql等数据库,Mysql数据库配置参见<Linux下 ...