1.override 重写:在继承中,子类与父类方法名相同,参数列表相同,的方法叫重写,与返回值有关;  主要应用于系统升级. 2.final 关键字: 可修饰:1.类-->被修饰后该类不能被继承      2.方法 -->被修饰后该方法不能被重写 3.变量-->被修饰后该变量为常量,只能赋值一次, 常量标识符全部用大写 3.多态:事物的多种形态 满足条件: 1.继承 2.重写 3.父类引用指向子类对象; 多态弊端:不能调用子类特有的属性和行为. 向上转型:用父类名 向下转型:类名  对…
任何类都是object类的子类 用object对象接收数组 object类的向上向下转型…
1.1 抽象类 1.1.1 抽象类概念 C extends B,B extends A,在继承过程中,形成一个继承金字塔,位于金字塔底部的类越来越具体(强大),位于塔顶的越来越抽象(简单). 例如:人继承于动物,鱼继承于动物.人有睡觉(闭眼睡)的方法,鱼有睡觉的方法,动物也有睡觉的方法, 当一个类中的方法过于抽象时,实现不确定如何实现,此时可以把该方法定义成抽象方法. 抽象方法所在的类过于抽象,称为抽象类(abstract class) public abstract class 类名 { }…
重写 含义 在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法.但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写.方法重写又称方法覆盖. 重写与重载的异同点 相同点 都是作用在方法上 不同点 重载时作用在同一个类中,多个方法名相同,参数列表不同(方法签名不同)而采用的方式 重写是作用在不同类,该类继承于需要修改方法的父类. 区别: 重载是在同一个类中,方法名相同,参数列表不同 重写是作用在两个有继承关系的子类中,方法签名相同 需要重写的原因 在一…
多态: /* 多态(polymorphic)概述 * 事物存在的多种形态 多态前提 * a:要有继承关系. * b:要有方法重写. * c:要有父类引用指向子类对象. * 成员变量 * 编译看左边(父类),运行看左边(父类). * 成员方法 * 编译看左边(父类),运行看右边(子类).动态绑定 * 静态方法 * 编译看左边(父类),运行看左边(父类). * (静态和类相关,算不上重写,所以,访问还是左边的) * 只有非静态的成员方法,编译看左边,运行看右边 */ class Demo_Polym…
Java中的关键字final修饰变量.方法.类分别表示什么含义? 先看一个简单的介绍 修饰对象 解释说明 备注 类 无子类,不可以被继承,更不可能被重写. final类中的方法默认是final的 方法 方法不能在子类中被覆盖 类的private方法会隐式地被指定为final方法.final方法不能被子类的方法覆盖,但可以被继承. 变量 称为常量,初始化以后不能改变值. 用final修饰的成员变量表示常量,值一旦给定就无法改变!final修饰的变量有三种:静态变量.实例变量和局部变量,分别表示三种…
向上转型 将子类对象当作父类对象     子类对象------>父类对象 先实例化子类 父类 父类对象 = 子类实例 package test2; class Father{ public void fun1(){ System.out.println("A---------fun 1"); } public void fun2(){ this.fun1();; } } class Sun extends Father{ public void fun1(){ System.ou…
1.父类引用可以指向子类对象,子类引用不能指向父类对象. 2.向上转型:子类引用的对象转换为父类类型称为向上转型,把子类对象直接赋给父类引用叫upcasting,向上转型不用强制转型(类似于低精度赋给高精度不用强制转换). 如: Father a = new Son(); 相当于 Son s= new Son(); Father f=s; 注意:向上转型时,只能调用父类的成员方法,如果子类重写了父类的方法就根据这个引用指向调用子类重写的这个方法(这个方法就是覆盖override).这个调用过程就…
目录 protected fianl 子父类中同名的 private 方法 java中的前期绑定 免疫多态 谁先被执行,构造器 还是 初始化? 协变返回类型 <Thinking in java>读书扩展 作者:淮左白衣 写于 2018年4月16日17:54:35 protected 用来修饰 域,代表域的访问权限是:包权限 或者 不同包,但是是子类 : fianl 值得好好讲下,并不是简单的一个关键字 final 修饰常量 只要是该常量代入的计算式,在编译时期,就会被执行计算,以减轻运行时的负…
一.函数和方法 1.函数和方法的区别 函数: 全都是显性传参,手动传参,与对象无关 方法: 存在隐性传参,与对象有关 1.1通过函数名可以判断 len()就是函数 str.count()就是方法 def func(): pass class A: def func(self): print(func) obj = A() print(obj.func()) 2.2通过types模块判断 from types import functionType from types import Method…