网站首页 极客学院 视频课堂 极客论坛 下载专区 行业新闻 欢迎光临极客研究院,今天是2019-08-24 星期六
会员面板
帐号:
密码:
验证码:
极客学院
教程搜索
输入要搜索的内容:

下载专区
精品教程
   网站首页 > PC开发 > JAVA开发 > 金极客JAVA学堂02:安卓开发中常用的java语法

金极客JAVA学堂02:安卓开发中常用的java语法

在安卓开发,常会使用到匿名内部类,用类对象做参数,类函数的重载等手法,我们必须学习并习惯这种写法

正常的创建一个类对象并且调用其函数的方法一般是这样:
STU s=new STU();
s.f1();

JAVA中常常简写成下在的样子:

new STU().f1();   //这种叫匿名对象

JAVA的内部类:
JAVA的类里面可以定义一个子类,这个子类只能内部使用
public class STU {
    private String sname="Kim"; 
    public void f1()
    {
        System.out.println("this is f1 of STU."+sname); 
        A a=new A();
        a.fa();
    } 
    public class A
    {
        public void fa()
        {
            System.out.println("this is fa of A of STU");
        }
    }
}

如果内部类体内要调用父类的成员,请参考下例:
public class STU {
    public String sname="Kim";
    public void f1()
    {
        System.out.println("this is f1 of STU."+sname);        
        A a=new A();
        a.fa();
    }
    public class A
    {
        public void fa()
        {
            System.out.println("sname="+STU.this.sname);  //类名加this就可以调用父类的属性了
        }
    }
}

类方法的重载:
有一个类定义如下:
public class STU {
    public String sname="Kim";
    
    public void f1()
    {
        System.out.println("this is f1 of STU."+sname);        
    }    
}
其它地方要调用并重载这个类里面的方法可以用以下方法:

STU a=new STU()
{
            public void f1()
            {
                System.out.println("this is new f1");        
            }
};
a.f1();

同样,一样可以用匿名的方法简写,如下:
new STU()
{
            public void f1()
            {
                System.out.println("this is new f1");        
            }
}.f1();    //在这里直接就调用了方法


JAVA中的函数参数可以是普通变量,数组,还可以是类对象,如下:
public class STU {
    public String sname="Kim";
    public void f1()
    {
        A a=new A();
        f2(a);
    }    
    public void f2(A aa)  //这里用了一个类对象做参数
    {
        aa.fa();
    }
    
    public class A
    { 
        public void fa()
        {
            System.out.print("this is  fa");
        }
    }    
}

上面的例子f1函数写成:

f2(new A(){});

如果需要重载其功能:

f2(new A(){
            public void fa()
            {
                System.out.print("this is new fa");
            }
});

  相关文章
本文标题:金极客JAVA学堂02:安卓开发中常用的java语法
对本文有疑问?现在就进入论坛提问>>
 
粤ICP备18090445号