黑马程序员--java内部类!

---------------------- android培训java培训、期待与您交流! ----------------------


java的内部类主要分为成员内部类、方法内部类、匿名内部类、静态嵌套内部类。


为什么要用内部类呢?


(1)比如定义一个类Panda(熊猫),继承抽象类Animal(动物)这个类,并且实现Protect(受保护的)这个接口,但是奇怪的是Animal和Protect中都有抽象方法:price(价格){}这个方法(动物类),请问Panda(熊猫)怎么处理?这是就要用到内部类。。。
(2)有时候一个类只需要在一处代码中使用一次,其他位置不会再用到这个类,这时我们就可以用匿名内部类来解决,无需为该类命名。。。例如GUI中监听事件。。。


如何使用内部类?


成员内部类:
class Outer{

class Inner{}
}
外部类的一个成员存在,与外部类的属性、方法并列
成员内部类中不能定义静态变量,但可以访问外部类的所有成员


方法内部类:
即定义在方法中的类。
class Outer{

public void Method(){

clsss Inner(){

}
}
}
此类只能在方法内部使用,外部完全不可见
使用方法跟外部类一模一样


匿名内部类:
class Outer{

public void Method(){

}
}
class Outer2{

public static void main(String[] args){

new Outer(){

public void Method(){

}
}
}
}
匿名内部类是一种特殊的局部内部类,它是通过匿名类实现接口
类名没有意义,也就是不需要使用到


静态嵌套内部类:
class Outer{

static class Inner(){}

}

class Inner(){

}
静态内部类中可以定义静态或者非静态成员
静态内部类可以用public,protected,private修饰


---------------------- android培训java培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net/heima

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值