ooday04 Java_面向对象_重写_static】的更多相关文章

方法的重写(override/overriding):重新写.覆盖 发生在父子类中,方法名相同,参数列表相同 重写方法被调用时,看对象的类型------------这是规定,记住就OK 当派生类觉得超类的行为不够好时,可以重写 点击查看代码 我继承了一个中餐馆 class Aoo{ void do(){ 做中餐 } } A:我还是想做中餐------------不需要重写 class Boo extends Aoo{ } B:我想改做西餐--------------需要重写 class Boo…
参考并摘自:http://www.runoob.com/java/java-override-overload.html 重写(Override) 子类对父类(允许访问的)方法的实现过程进行重新编写,形参和返回值都不能变.即外壳不变,核心重写. 重写不能抛出比父类更宽泛的异常. class Animal{ public void eat(int n){ System.out.println("Animal eat:"+n); } } class Dog extends Animal{…
6.面向对象_内部类 1.内部类定义 内部类:将一个类定义在另一个类里面,对里面那个类就称为内部类.(内置类.嵌套类)内部类可以被私有修饰. 2.内部类访问规则 访问特点: 内部类可以直接访问外部类中的成员,包括私有成员.之所以可以直接访问外部类的成员,是因为内部类中持有了一个外部类的引用,格式:外部类名.this 而外部类要访问内部类中的成员,就必须要建立内部类的对象.内部类不是独立存在的,是存在于外部类中,所以当内部类要建立对象时必须要标识出他是属于哪个外部类的(存在内部类名称相同的情况)…
08.01_面向对象(代码块的概述和分类)(了解)(面试的时候会问,开发不用或者很少用) A:代码块概述 在Java中,使用{}括起来的代码被称为代码块. B:代码块分类 根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程讲解). C:常见代码块的应用 a:局部代码块 在方法中出现:限定变量生命周期,及早释放,提高内存利用率 b:构造代码块 (初始化块) 在类中方法外出现:多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行 c:静…
目录 一.封装 二.继承 三.多态 四.重载与重写 五.接口与抽象类 六.继承与组合 七.初始化块 面向对象的三大特征:封装.继承.多态. 一.封装 是指将对象的状态信息都隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问.封装的优点: 隐藏类的实现细节 良好的封装能够减少耦合 便于修改,提高代码的可维护性 可进行数据的检查,有利于保证对象的信息完整性 二.继承 继承就是子类继承父类的特征和行为(通过关键字extends),使得子类对象(实例…
09.01_面向对象(多态的概述及其代码体现) A:多态(polymorphic)概述 事物存在的多种形态 B:多态前提 a:要有继承关系. b:要有方法重写. c:要有父类引用指向子类对象. C:案例演示 代码体现多态 09.02_面向对象(多态中的成员访问特点之成员变量) 成员变量 编译看左边(父类),运行看左边(父类). 09.03_面向对象(多态中的成员访问特点之成员方法) 成员方法 编译看左边(父类),运行看右边(子类). 09.04_面向对象(多态中的成员访问特点之静态成员方法) 静…
类的几个装饰器方法: @classmethod (类方法):使之无法访问实例变量 class Animal(object): def __init__(self, name): self.name = name # 实例变量 sleep = '睡觉觉后..' # 类变量 @classmethod # 加上此装饰器便不能访问实例变量,但是可以访问类变量 def eat(self): print('%s 动物要吃东西..' % self.sleep) A = Animal('狗类') Animal.…
面向对象:减少重复代码,提高效率,比函数式编程更高效 类的创建: 实例属性又称:成员变量,成员属性(或者字段) 面向对象的三大特性: 一.封装 把客观事物封装为抽象的类,并对外只暴露一个可用接口 使用构造方法将内容封装到对象中,可通过对象直接或者通过self间接获取被封装的内容 # 创建类 class Foo(object): def __init__(self, name, age): # 构造方法,根据创建的对象自动执行 self.name = name self.age = age # 类…
参考并摘自:http://www.runoob.com/java/java-abstraction.html Java抽象类: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的. 如果一个类中没有包含足够的信息来描绘一个对象,这样的类就是抽象类. 抽象类除了不能实例化对象之外,类的其他功能依然存在,成员变量.成员方法和构造方法的访问方式和普通类一样. 由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用.也是这个原因,通常在设计阶段决定要不要设…
今日内容介绍 1.final 关键字 2.static 关键字 3.匿名对象 4.内部类 5.包的声明与访问 6.访问修饰符 7.代码块 01final关键字概念 A: 概述 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后, 就可以对其中的方法进行重写,那怎么解决呢? 要解决上述的这些问题,需要使用到一个关键字final,final的意思为最终,不可变. final是个…