JavaForAndroid14

一、内部类
1.定义
class A {
int i;
class B {
int j;
int funB(){
int result = i+j; //完整写法A.this.i
return result;
}
}
}
生成内部类对象:
A a = new A();
A.B b = a.new B(); //初始化内部类A.B b = new A() .new B();
a.i = 3;
b.j = 1;
int result = b.funB();
System.out.println(result);

interface A{
public void doSomething();
}

class B{
public void fun(A a) {
System.out.println("B类的fun函数");
a.doSomething();
}
}

class AImp1 implements A{
public void doSomething(){
System.out.println("doSomething");
}
}

AImp1 al = new AImp1();
A a = al;
B b = new B();
b.fun(a);

//使用匿名内部类
b.fun(new A(){
public void doSomething(){
System.out.println("匿名内部类");
}
});

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,766评论 18 399
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 5,165评论 0 41
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,910评论 0 2
  • 多态 任何域的访问操作都将有编译器解析,如果某个方法是静态的,它的行为就不具有多态性 java默认对象的销毁顺序与...
    yueyue_projects阅读 989评论 0 1
  • 春,是一个多情的季节。四季有春,春有朝晨,朝晨有你,方显珍贵。 在这样一个诗情画意的季节,在静默的等一场花开,等你...
    fengnuan阅读 3,163评论 2 7