当前位置:编程学习 > JAVA >>

对于多态的设计?

My my = new Me();
my.test() ;这个调用My类的test方法;
如果子类没有重写,调用的只是父类的。再如果子类重写了还是声明为private,(my.test()可以编译)调用还是父类的test方法;
再如果父类是抽象类(test为抽象方法),而子类必须重写(调用是子类的test方法),如果声明的是private,编译还是可以通过,但是会抛出异常,个人感觉到这样做会做出封装更好的效果(限制了子类的方法),但是复杂会增加,而扩展、可读都会降低,那么这样到底有什么好处?谁给个例子说明啊!? --------------------编程问答-------------------- 重写方法的时候不能缩小访问范围的,所以重新的时候不能声明为private的。 --------------------编程问答-------------------- 你想想呀,如果你降低了父类的可见性,你在实际调用的时候,你还能调用到那个方法吗?

因此JAVA为了不出错,就改成了调用父类的方法而已

-----------------------------

不过我觉得JAVA这样处理确实不够好,团队开发中难免容易出现点深层的问题。 --------------------编程问答-------------------- 回1,2楼,多态这些基本原理我懂的啊!可我特意这样写,如果声明private那样封装得不是更好吗?同时还可以说java是有指针的,调用是先指向父类,而在父类中检查子类有没有重写或重载,如果有的,那么就叫调用那个类的引用指向子类,当然如果子类型为private,它子向一个不能访问的,所以它自己转移指针指到父类,而我上面说的父类是抽象类时,却抛出错误,也正好说明这个啊!可是谁有办法更好设计出子类呢?所以来求助!
补充:Java ,  Java相关
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,