java类同时引用父类和接口的成员变量,需要指明是父类的还是接口的

code:

package com.qhong;


public class Main  extends B implements A{
    public static void main(String[] args) throws Exception {
        new Main().action();;
    }

    public void action(){
        System.out.println(super.x);
        System.out.println(A.x);
        //System.out.print(x);
    }
}

interface A{
    int x = 0; //默认为public static final
}
class B{
    int x = 1;
}

Output:

1
0

如果取消注释,报错:

Error:(12, 26) java: 对x的引用不明确
  com.qhong.B 中的变量 x 和 com.qhong.A 中的变量 x 都匹配

平常注意两个小问题

第一个逻辑操作&|与条件操作&&||区别

基本差别不大,都可以进行逻辑计算,但是条件操作有短路现象,即一旦能够确认表达式的值,那么余下的部分就不执行了。

int a = 0; 
int b = 0; 
if( (a = 3) > 0 || (b = 3) > 0 ) //操后a =3,b=0. 
if( (a = 3) > 0 | (b = 3) > 0 ) //操后a =3,b=3。

第二个,在代码运行中,return,finally那个先执行,如果finally内部有return呢

如果finally中没有return,try里面有return,那么先执行try->finally->try内的return

如果finally中存在return,try里面也有return,那么执行顺序try-finally->finally内的return

 

http://blog.csdn.net/junli_chen/article/details/49612463

http://blog.csdn.net/junli_chen/article/details/49613851

http://blog.csdn.net/junli_chen/article/details/49624025

http://blog.csdn.net/junli_chen/article/details/49659771

posted @ 2017-05-17 23:34  hongdada  阅读(722)  评论(0编辑  收藏  举报