重载和重写(overload and override)
来源:互联网 发布:js 识别浏览器 编辑:程序博客网 时间:2024/06/12 03:48
/* * study Override and * 学习 覆盖(重写) 和 重载 */public class Test {//重载public void f(int a, int b){}//当函数名和参数相同时,不论返回值和方法修饰符是否相同,都不能编译过protected int f(int a, int b){ return a;} //编译出错//包含抽象方法的类必须声明抽象类abstract void f(int a); //编译出错}
public class Test { private void method(){};}class Sub extends Test{/*重写 : * 1.子类修饰符必须大于或等于父类的修饰符,返回类型,方法名,参数必须相同 * 2.子类方法不能抛出比父类方法更多的异常,或者子类的异常是父类异常的子类或相同 * 3.父类的静态方法不能被子类覆盖成非静态,反过来也是 * 4.子类与父类间static函数重写的一些特别********这条要注意 */public int method(){ //编译报错}public int method(int a){ //正确,重载return a;}}
3.
/* * study Override and Overload * 学习 覆盖(重写) 和 重载 */public class Test { public static void method(){}}class Sub extends Test{ public void method(){} //编译出错}class Base{void method(){}}class Sub1 extends Base{static void method(){} //编译出错}
4.子类与父类间static函数重写的一些特别********这条要注意
/* * study Override and Overload * 学习 覆盖(重写) 和 重载 */class Base{void method(){System.out.println("method of Base");}static void staticMethod(){System.out.println("staticMethod of Base");}}class Sub extends Base{void method(){System.out.println("method of Sub");}static void staticMethod(){System.out.println("staticMethod of Sub");}}public class Test { public static void main(String[] args) {Base b1 = new Sub();b1.method(); // method of Subb1.staticMethod(); //这个注意了: staicMethod of BaseSub b2 = new Sub();b2.method(); //method of Subb2.staticMethod(); // staticMethod of Sub }}
5.父类的私有方法不能被子类覆盖 ******注意了喔
/* * study Override and Overload * 学习 覆盖(重写) 和 重载 */class Base{private void method(){System.out.println("method of Base");}public void print(){method();}}class Sub extends Base{public void method(){System.out.println("method of Sub");}}public class Test { public static void main(String[] args) {Base b1 = new Sub();b1.print(); //method of Base/* * 若果把Base的method改成 public void method() * b1.print(); //method of Sub */ }}
6.父类的非抽象方法可以被覆盖为抽象方法
public class Test{void method(){}}abstract class Sub extends Test{public abstract void method(); //合法}
- 重载和重写(overload and override)
- 重载与重写(overload and override)
- 重载(overload)重写(override)
- overload重载、override重写
- Override和Overload(重写和重载)
- 重载和重写,override和overload
- 重载overload和重写override笔记
- 重载(Overload)和重写(Override)的区别
- Overload(重载)和Override(重写)
- c#的重写(override)和重载(overload)
- Java重载(overload)和重写(override)
- override重写和overload重载的区别
- 总结重写override和重载overload区别
- Java重写Override和重载Overload
- java-重写override和重载overload
- 重写Overload和重载Override的区别?
- 重写(override)与重载(overload)
- Overload(重载)Override(重写)
- android BroadcastReciver 笔记
- T-state
- 【容斥原理、gcd】初步
- Linux文件操作
- 编译Tomcat5.5.x
- 重载和重写(overload and override)
- Java 多线程并发解决方案
- Linux SVN 用法
- Android Fragment详解(二):Fragment创建及其生命周期
- 局部变量和全局变量的相关问题
- 运行jar包提示ClassNotFoundException错误
- 设计模式学习笔记1——类继承与接口继承比较
- 反射基础概念、WEB应用部署
- <<C++的设计与演化>>读书笔记(三)