接口与继承 -- 访问相同变量
来源:互联网 发布:淘宝好评返现 编辑:程序博客网 时间:2024/04/30 23:16
interface A{int x = 0;}class B {int x = 1;}public class Object1 extends B implements A {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("A.x="+A.x);
System.out.println("B.x="+B.x);//报错,父类中的属性是实例变量Object1 c = new Object1();A a = (A) c;B b = (B) c;System.out.println("c.x="+c.x);//报错,不知道访问的是父类还是接口中的xSystem.out.println("a.x="+a.x);System.out.println("b.x="+b.x);}}
其中System.out.println("B.x="+B.x); 和System.out.println("c.x="+c.x); 这两句代码会出现编译错误。
在屏蔽掉这俩句代码后的输出为:
A.x=0
a.x=0
b.x=1
1. A.x=0 -- 为什么直接调用接口A的属性i值正确。
因为在接口中所有的变量都默认是静态static的常量(final),不能被修改,否则编译报错。
2. System.out.println("B.x="+B.x); -- 报错,俩种修改方法:
将父类B中的变量定义static静态类变量:static int x = 1;
先实例化父类B,再调用它的变量值。如System.out.println("b.x="+b.x);
0 0
- 接口与继承 -- 访问相同变量
- 子类继承父类的同时又去实现一个成员变量、方法与父类相同的接口,最后调的是谁的成员变量和方法?
- 继承与接口---子类的访问权限
- 类继承与接口继承
- 接口继承与实现继承
- 接口继承与实现继承
- 接口继承与实现继承
- 接口继承与实现继承
- 接口继承与实现继承
- 接口继承与实现继承
- 继承与接口
- 接口与多重继承
- 接口与多重继承
- 继承与接口
- 接口与多重继承
- 继承与接口
- java继承与接口
- 继承与接口
- SqlMapClientTemplate
- 【Struts2+Hibernate3+Spring3】利用SSH整合,完成打印用户表,用户登录、注册、修改密码系统
- OC--Id和构造方法
- CentOs 下安装并配置postgresql
- 17个常用代码整理
- 接口与继承 -- 访问相同变量
- 【Unix】文件IO与标准IO
- 多个线程访问共享变量
- Can't do setuid (cannot exec sperl)
- linux下启用或禁用打印机的打印操作
- C++文件读写详解(ofstream,ifstream,fstream)
- Java学习第8天(1)IO应用
- 【c位操作】按位与,按位或
- Android屏幕density, dip ,px ,密度,分辨率等相关概念