看了一下午corejava来巩固基础概念,加深理解.拿笔在上面画画感觉效果不好.明天尝试将遇到的问题或者一些有些陌生的术语或者概念记录下来,再用专门的时间来解决读书遇到的问题.看书时敲的TESTDEMO零零碎碎的没有保存,附上一个重写和重载的代码以及一些笔记.
方法重写,方法重载overloading概念:
方法重写(覆盖)是指方法继承时,子类中相同的方法名和参数列表但是方法不同,与返回值无关
方法重写可以让子类改写父类中同样的方法,其要求访问权限不能低于父类,方法修饰符要与父类一致
方法重载是指在本类中,多个方法名相同但是参数列表不同的方法,与返回值无关.
方法重载是实现类同方法对于不同参数类型或者个数的应对处理
/* * 方法重载Overloading:是指本类中有多个方法名相同但参数类型/个数不同的方法。 * 无法以返回型别作为重载函数的区分标准。 * 重载Overloading是一个类中多态性的一种表现。 * 调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。 */ public class overloading { int add(int a) { return a; } int add(int a, int b) { return a + b; } // void add(int a,int b){ //无法根据返回值类型定义方法重载 // // } }
/* * 方法重写overriding:父类与子类之间的多态性 */ class fu { public void show() { System.out.println("父类show方法"); } } class zi extends fu { public String show(int a) { String s = "子类中的(String)show(int a)方法"; return s; } public void show(int a, int b) { System.out.println("子类中的方法重载"); } public void show() { System.out.println("子类对父类的方法重写"); } } public class overriding { public static void main(String[] args) { fu f1 = new fu(); f1.show(); fu f2 = new zi(); // f2.show(1);//编译看左边,父类中没有show(int a)的方法 f2.show();//() zi z = new zi(); z.show(1,2); System.out.println(z.show(12)); } }
时间: 2024-10-18 22:25:42