java编程思想 记
来源:互联网 发布:苹果电脑怎么删除软件 编辑:程序博客网 时间:2024/04/28 02:03
1、java中private方法默认方式是final,因为private是不能被覆盖的,但是当子类覆盖了基类的private方法时,java编译器并不会报错。所以类中所谓的接口是不包括private的方法的。
2、和c++不同的是,子类是可以重载基类中的方法的,c++不会出现编译错误但是可能和我们所期望的运行结果不同,看下面的例子
class a{public void f(int k){System.out.println("inside a.f()");}}class b extends a{public void f(double k){System.out.println("inside b.f()");}}public class test{public static void main(String []args){b tmp=new b();tmp.f(1);//output: inside a.f()tmp.f(1.0);//output: inside b.f()}}
#include<stdio.h>class a{public:void f(int k){printf("inside a.f()\n");}};class b:public a{public:void f(double k){printf("inside b.f()\n");}};int main(){b *test=new b();test->f(1);//output:inside b.f()test->f(1.0);//output:inside b.f();return 0;}
3、当基类的构造器正在调用子类的动态绑定方法的时候,其结果会让人大吃一惊,看下例
class a{public a(){System.out.println("before f()");f();System.out.println("after f()");}public void f(){System.out.println("a.f()");}}public class test extends a{private int r=1;public test(int ra){r=ra;System.out.println("test.test() r="+r);}public void f(){System.out.println("test.f() r="+r);}public static void main(String []args){new test(5);//output:before f()test.f() r=0 //why not "test.f() r=1" ??after f()test.test() r=5}}
- java编程思想 记
- java oop思想编程思想
- 关于编程思想和《java编程思想》
- 《Java编程思想》第0记
- Java编程思想读书笔记
- Java编程思想:引言
- java编程思想:
- Java编程思想学习
- Java编程思想 笔记
- java编程思想读书笔记
- java编程思想
- java 编程思想 读书笔记
- 学习java编程思想
- 《java编程思想》
- java编程思想chapter1
- java编程思想chapter3
- Java编程思想
- 《java编程思想》笔记
- BTE 查找
- windows xp下centos 6.0安装
- Hashtable的遍历(DictionaryEntry)
- 黑马程序员_Java泛型
- 炒作域名投资过后,互联网将泛化
- java编程思想 记
- java nio
- curl 教程
- 黑马程序员_Java 网络编程
- mysql协议疑难
- java连接SqlServer
- C++类继承关系问题
- 关于对数组名取地址
- 黑马程序员_JavaIO操作