java总的重载(overload)、重写或覆盖(override)和隐藏分析;
2017-05-02 14:01
645 查看
class Super{ public static void smethod(){ System.out.println("super smethod!"); } public static void stest(){ System.out.println("super test!"); } public void test(){ System.out.println("super test!"); } public void test(int i){ System.out.println("super test i:"+i); } } class Sub extends Super{ //重写或覆盖父类方法, //不管使用父类引用还是子类引用调用test() //都是调用此方法 public void test(){ System.out.println("sub test!"); } //重载test方法 public void test(String info){ System.out.println(info); } //隐藏父类stest方法 //使用子类引用调用stest(),则调用这里 //父类引用调用stest(),则调用父类方法; public static void stest(){ System.out.println("sub test!"); } } public class SynchronizedTest { public static void main(String[] args) { Sub sub = new Sub(); sub.test();//重写或覆盖,调用子类实现 Super super1 = sub; super1.test();//重写或覆盖,调用子类实现 //重载 sub.test(100); sub.test("overload"); //sub.stest(); sub.stest(); //子类中隐藏,依赖于引用类型,只能调用子类实现; super1.stest();//子类中隐藏,依赖于引用类型,调用父类实现; sub.smethod();//没有隐藏,调用父类实现; super1.smethod();//没有隐藏,调用父类实现; } }
相关文章推荐
- Java 重写(即覆盖Override)与重载(Overload)与多态几个概念的区别分析
- java中Overload(重载)和Override(重写、覆盖)
- [转]overload-重载 override-覆盖 overwrite-重写或隐藏
- overload-重载 override-覆盖 overwrite-重写或隐藏
- [转]overload-重载 override-覆盖 overwrite-重写或隐藏
- java 继承 多态(override->重写(=覆盖)、overload->重载、polymorphism -> 多态)
- C++重载(overload)、重写(overwrite,也称隐藏)、覆盖(override)
- 重载(overload),覆盖/重写(override),隐藏(hide)
- 【C++基础】重载overload、重写(覆盖)override、隐藏hide的区别
- C++ 类成员函数的重载(overload),重写/覆盖(override),隐藏
- 【C/C++】重载(overload),重写(override,或覆盖),隐藏
- JAVA:重载overload与覆盖(重写)override的区别
- JAVA中的基础-----重载与重写(覆盖)的区别:overload与override
- 重载(overload)、覆盖(也叫重写)(override) 隐藏(hide)
- java基础---方法的重载(overload)和覆盖(重写)(override)
- 重载(overload)、覆盖(override)和隐藏(hide)
- 重载(overload)、覆盖(override)、隐藏(hide)的区别
- 关于隐藏(hide), 重载(overload), 覆盖(override)
- 隐藏(new)和方法重写(override)和重载(overload)的区别
- 【转】重载(overload)、覆盖(override)、隐藏(hide) 辨析