内部静态类对象的定义

    JAVA中可以在一个类中声明另一个类,这个类可以是动态的,也可以是静态的,昨天在论坛中看见了这样一段代码:

interface  Destination
{
    String readLabel();
}

class  Parcel10  {
 
public class p
 
{
 
 }

  
public  static class PDestination
      implements Destination 
   
{
    
private static String label;
    
public PDestination(String whereTo) {
      label 
= whereTo;
    }

    
public String readLabel() return label; }
  }


}
 
class  TTTT
{
public void t()
{
 Parcel10 c2
=new Parcel10(); 
 Parcel10.p p1
=c2.new p();
 Parcel10.PDestination pd
= new Parcel10.PDestination("aaaaa");
 }

 }


借口和类Parcel10的声明就不用解释了,相信大家都能看明白,重点在于类TTTT,他首先创建了一个Parcel10的对象c2,然后又调用了Parcel10.p创建了一个内部类对象p1.这里面有一个内部类对象定义的格式:主类名.内部类名. 内部类对象名=主类对象.new 内部类构造器(参数);
下一句要声明一个静态内部类的对象,它和上面的有所不同,首先看一下它的格式:
主类名.静态内部类名. 静态内部类对象名=new 主类名.内部类构造器(参数);
我们先来看一下它们的区别.首先声明部分是相同的,内部类的声明的固定格式,重点在后面,普通内部类p它可以看作是一个Parcel10的一个成员,所以声明p的对象的关键字new应该由主类的对象去调用,c2.new.而静态内部类它是属于住类的,对象无法调用它,后面的构造器也是由类名调用,如果你明白静态成员和方法的使用,相信不难理解.
    但是作者对于new的用法始终不太理解,API使用的不熟练,以至于一直没找到,希望各位前辈和高手指点.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值