java自学日记5
2015-09-22 10:31
471 查看
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
只有非private方法才可以被覆盖,但是还需要密切注意覆盖private方法的现象,这时虽然编译器不会报错,但是也不会按照我们所期望的来执行,即覆盖private方法对子类来说是一个新的方法而非重载方法。因此,在子类中,新方法名最好不要与基类的private方法采取同一名字(虽然没关系,但容易误解,以为能够覆盖基类的private方法)。
Java类中属性域的访问操作都由编译器解析,因此不是多态的。父类和子类的同名属性都会分配不同的存储空间,如下:
// Direct field access is determined at compile time. class Super { public int field = 0; public int getField() { return field; } } class Sub extends Super { public int field = 1; public int getField() { return field; } public int getSuperField() { return super.field; } } public class FieldAccess { public static void main(String[] args) { Super sup = new Sub(); System.out.println("sup.filed = " + sup.field + ", sup.getField() = " + sup.getField()); Sub sub = new Sub(); System.out.println("sub.filed = " + sub.field + ", sub.getField() = " + sub.getField() + ", sub.getSuperField() = " + sub.getSuperField()); } }
输出:
sup.filed = 0, sup.getField() = 1
sub.filed = 1, sub.getField() = 1, sub.getSuperField() = 0
相关文章推荐
- eclipse重新编译源代码(一)
- JAVA中利用File类遍历文件时空指针报错
- java自学日记4
- java自学日记3
- Java中的instanceof关键字
- MyEclipse开发习惯
- eclipse and systemtap
- 15_09_22 Java 中写方法注意事项
- java中equals 和 == 的区别
- java解决跨域问题
- Spring拦截器
- java 学习银行调度学习笔记
- springAOP的注解
- JAVA反射详解
- Java字符串存储问题
- Android+Eclipse+JNI+javah 自动生成.h文件
- 浅析Java中的final关键字
- ZTree+Struts2+ajax+json实现checkbox权限树
- java 线程学习--2
- java 四舍六入五成双