2015-4-30

[昨天又可耻地休息了一天,懒劲比较大啊。跟懒劲有直接关系,这几天对幸福的感知也黯淡了,对未来的幸福不是那么渴望了。表现在对亲情和爱情上。

我想生活的本意是积极进取、茁壮生长并时常感激啊。所以要热爱生活啊。心胸要宽阔。加油^O^

书:
1、周昌乐,《禅悟的实证:禅宗思想的科学发凡》,东方出版社,2006年
2、库比特,《生活 生活:一种正在来临的生活信仰》,宗教文化出版社,2004年
3、克里希那穆提,《爱的觉醒》,深圳报业集团出版社,2006年]

Java 内部类(鸡蛋里又有小鸡蛋,这个小鸡蛋同样有蛋清、蛋黄)

(?java中,类可以用哪些修饰符-----public、abstract、final。类的成员变量、成员函数,接口等可以用哪些修饰符。默认情况下是哪种修饰符。为什么)

非静态内部类

创建非静态内部类;

在外部类中访问内部类(先创建一个内部类的对象,再访问其成员);

在外部类外访问内部类(先创建一个外部类的对象,再通过该对象创建一个内部类的对象,再访问其成员(注意是非private的));

在内部类中访问外部类(直接访问);

 class wai{
int x = 5;
class nei{//创建非静态内部类
int xx = 6;
void visitX(){
System.out.println(x);//在内部类中访问外部类
}
}
void visitXX(){//在外部类中访问内部类
nei n = new nei();
System.out.println(n.xx);
}
} public class test{
public static void main(String[] args){
wai w = new wai();
wai.nei wn = w.new nei();//在外部类外创建内部类的对象,法1
System.out.println(wn.xx);//在外部类外访问内部类 wai.nei wn2 = new wai().new nei();//在外部类外创建内部类的对象,法2
System.out.println(wn2.xx);//在外部类外访问内部类 w.visitXX();
wn.visitX();
}
}

示例1

当在内部类中访问外部类的成员,而内部类的成员与外部类的该成员同名时,直接访问的话,还是访问内部类的成员。

重名时如何去访问外部类中的该成员呢?

 class wai{
int x = 5;
class nei{
int x = 6;
void visitWaiX1(){//法1
wai w1 = new wai();
System.out.println(x);
System.out.println(w1.x);
}
void visitWaiX2(){//法2
System.out.println(this.x);
System.out.println(wai.this.x);
System.out.println("this="+this);
System.out.println("wai.this="+wai.this);
}
}
} public class test{
public static void main(String[] args){
wai w = new wai();
wai.nei wn = w.new nei();
wn.visitWaiX1();
wn.visitWaiX2();
System.out.println("wn="+wn);
System.out.println("w="+w);
}
}

示例2

静态内部类

创建静态内部类(使用static修饰即可。另外,外部类是不能用static来修饰的);

在外部类中访问静态内部类(与 非静态内部类 的方法相同);

在外部类外访问静态内部类(与非静态内部类 的方法不同了,静态的,是不依赖与对象的,所以不需要创建外部类对象,而可以直接创建这个静态内部类,当然需要指明是属于哪个外部类的静态内部类);

 class wai{
static class nei{//创建静态内部类(使用static修饰即可。另外,外部类是不能用static来修饰的)
int xx = 6;
}
void visitXX(){
nei n = new nei();
System.out.println(n.xx);//在外部类中访问静态内部类(与 非静态内部类 的方法相同)
}
} public class test{
public static void main(String[] args){
wai.nei wn = new wai.nei();
System.out.println(wn.xx);
//在外部类外访问静态内部类(与非静态内部类 的方法不同了,
//静态的,是不依赖与对象的,所以不需要创建外部类对象,而可以直接创建这个静态内部类,
//当然需要指明是属于哪个外部类的静态内部类);
wai w = new wai();
w.visitXX();
}
}

示例1

局部内部类(在类的成员函数中定义一个内部类)

创建局部内部类(访问该类必须在该内部类所在的方法中通过创建内部类对象来访问);

在局部内部类中访问外部类的成员变量(直接访问);

在局部内部类中访问外部类的局部变量(需声明为final);

在静态方法中的局部内部类中访问外部类中的成员变量(该成员变量必须是静态成员);

 class wai{
int x = 5;
void visit1(){
final int xx = 6;
class nei{//创建局部内部类
void fun(){
System.out.println(x);//在局部内部类中访问外部类的成员变量(直接访问x)
System.out.println(xx);//在局部内部类中访问外部类的局部变量(xx需声明为final)
}
}
nei n = new nei();
n.fun();
}
static int y = 7;
static void visit2(){
class nei{
void fun(){
System.out.println(y);//在静态方法中的局部内部类中访问外部类中的成员变量(该成员变量必须是静态成员)
}
}
nei n = new nei();
n.fun();
}
} public class test{
public static void main(String[] args){
wai w = new wai();
w.visit1();
w.visit2();
}
}

实例1

匿名内部类(暂理解作,其实可以是继承自父类的一个类,但是整合到一起了,不显示出来了,于是“匿名”了。然后是在主函数中创建的类,所以叫”内部类“???

觉得有点不科学。。。。。但不重要吧。)

创建匿名内部类

http://www.cnblogs.com/nerxious/archive/2013/01/25/2876489.html(补充,匿名内部类所继承的父类不需要是抽象类或接口,正常的也行);

匿名内部类的初始化(利用非静态语句块)

 class neiFather{
int x;
void output(){
System.out.println("in neiFather");
}
} public class test{
public static void main(String[] args){
neiFather nf = new neiFather()
{
{
x = 5;
}
void output(){
System.out.println("x="+x);
}
};
nf.output();
}
}

示例1

大四实习准备4_java内部类的更多相关文章

  1. 大四实习准备1_java构造器_android ListView

    2015-4-23 Java构造器 与类名同名;无返回值(void也不行);被不同的修饰符修饰是有区别的;当构造函数被private修饰时,只有本类可访问.其他类可以通过该类的get函数得到对象.如单 ...

  2. 大四实习准备6_android服务

    2015-5-9 1.服务是什么 android四大组件之一,有一些特点: 1)服务的运行不依赖于用户界面,即使程序被切换到后台.或者用户打开了另外一个应用程序,服务仍然能够保持正常运行.(当对应的程 ...

  3. 大四实习准备5_android广播机制

    2015-5-1 android 广播机制 5.1简介 分为标准广播(Normal broadcasts)(无先后顺序,几乎同时接收,不可截断)和有序广播(Ordered broadcasts)(有先 ...

  4. 大四实习准备3_java多线程

    4.25.27无耻地懒散了.....26号陪女朋友去了.今天28号,继续加油! 2015-4-28 Java 多线程 (java中类不能多继承,可以多层继承:接口则都可以) 定义和创建: 方法一:继承 ...

  5. 大四实习准备2_java异常处理_android控件练习

    2015-4-24 Java 异常处理 可以有多个catch;ArrayIndexOutOfBoundsException类是Exception类的子类RuntimeException类的一个间接子类 ...

  6. jQuery-H5-css3转盘抽奖-遁地龙卷风

    (-1)写在前面 这个idea不是我的,首先向这位前辈致敬. 我用的是chrome49, jquery3.0. 完整的程序案例在我的百度云盘http://pan.baidu.com/s/1jI2QSn ...

  7. OneAPM x 腾讯 | OneAPM 技术公开课·深圳 报名:前端性能大作战!

    「 OneAPM 技术公开课」由应用性能管理第一品牌 OneAPM 发起,内容面向 IT 开发和运维人员.云集技术牛人.知名架构师.实践专家共同探讨技术热点. 11月28日,OneAPM 技术公开课第 ...

  8. 我的2011年总结--大明zeroson程序猿一周年总结

    花絮:看到csdn举办"我的2011"年度征文活动,我恰好工作也一年多了,上个月写了篇博客,主要是我换工作方面的流水账,这篇我从主观.客观.多方位地谈谈我这一年的变化.       ...

  9. 【蜗牛—漫漫IT路之大学篇(九) 】

    再来一篇叨叨的博客 近期,状态还是那个状态,人还是那个人. 前两天,感冒了,可能是宿舍阴面的事吧.然后,中午睡觉的时候穿着短袖披了一件外套,然后鼻子就不通气了.只是,前天晚上,我骑着崔国强的车子跑了不 ...

随机推荐

  1. Android使用百度地图API实现GPS步行轨迹

    百度地图Android SDK下载:http://developer.baidu.com/map/sdkandev-download.htm 下面是效果: 采样点取得太频繁所以看起来像是一个个点... ...

  2. 多线程的单元测试工具 - GroboUtils

    写过Junit单元测试的同学应该会有感觉,Junit本身是不支持普通的多线程测试的,这是因为Junit的底层实现上,是用System.exit退出用例执行的.JVM都终止了,在测试线程启动的其他线程自 ...

  3. Virtual Box中 CentOS双网卡设置

    Virtual Box中 CentOS双网卡设置:   在Virtual Box中安装CentOS x86-64 6.4(final),配置了双网卡,eth0 为桥接模式 , eth1为内网模式   ...

  4. C# 类中隐藏基类方法和Partial

    今天对于.NET开发人员来说最开心的事情莫过于微软搞开源了,这觉得是给搞.NET开发的长脸.虽然我是一个初学者,这无疑给我极大的学习动力.Fighting!!! 当一个类从父类继承了一个成员时,也就继 ...

  5. 1.JSP 简介及工作原理

    1.JSP 简介 JSP(Java Server Pages)是由Sun Microsystems公司倡导.许多公司参与一起建立的一种动态网页技术标准.JSP技术有点类似ASP技术,它是在传统的网页H ...

  6. Oracle设置表只读-alter table xxx read only

    11g以前,当需要设置一个表只读时,我们通过赋予某些用户select权限.但对于表的owner来说,还是可以读写的. 从Oracle 11g开始,我们可以通过一下命令设置表只读或可读可写: alter ...

  7. 云主机上搭建squid3代理服务器

    目录 目录 具体流程 修改配置文件 问题 维基整理 代理服务器 Squid (软件) SOCKS SOCKS代理 参考:http://raysmond.com/node/79 具体流程 在服务器上安装 ...

  8. 因程序问题引起的服务器CPU负荷一直保持在90%以上

    昨天早上刚到办公室,就接到客户的电话说其某台小型机的CPU负荷一直保持在90以上,告警短信发个不停,一直没有间断过.该服务器是一台IBM的小型机,性能应该还是不错的,出现这样的情况确实不太正常.登陆上 ...

  9. EXTJS 4.2 资料 控件GroupingGrid

    http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-11-17/179.html

  10. Linux计算机进程地址空间与内核装载ELF

    本文基于Linux™系统对进程创建与加载进行分析,文中实现了Linux库函数fork.exec,剖析内核态执行过程,并进一步展示进程创建过程中进程控制块字段变化信息及ELF文件加载过程. 一.初识Li ...