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 @   hongdada  阅读(724)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2015-05-17 我的第一个Windows服务
点击右上角即可分享
微信分享提示