继承:

Extends在英文中的翻译是拓展.

但是java允许多重继承. 一条线.单线.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

在JAVA中,除了Object类, 每个类都有一个直接父类.

Object类是最高类.

override方法的覆盖(复写):

当父类中的某个方法不符合子类中的特征的时候,子类需要覆盖父类的方法重新编写.

子类方法覆盖父类方法,如果调用子类的方法,方法名和父类相同也会执行子类的方法,如果子类找不到调用的方法才会去父类中寻找,父类找不到再继续向上找直到找到为止.

方法的覆盖语法很简单. 方法名完全相同,只有方法的内容不同.方法名粘贴复制即可.

只有方法才有覆盖的概念,字段没有覆盖的概念.

子类的访问权限必须大于等于父类的访问权限.private不存在覆盖.  @override用来判断子类方法是否覆盖了父类的方法.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

super关键字:

需求:在子类方法中调用父类中被覆盖的方法.

使用super.方法

子类初始化的过程:

在创建子类对象之前会创建父类对象.创建子类对象会调用子类构造器,在调用子类构造器之前会调用父类构造器.而且是无参的父类构造器super()

如果父类构造器是被写出来的.且不是无参数构造器.那么就需要自己写super()初始化构造器.而不用系统默认的隐藏的无参数构造器.

并且super()要作为第一个语句.因为必须要先有爸爸再有儿子. 1

如果父类没有可以被子类访问的构造器,则不能存在子类.因为子类的创建要先有父类.

因为name是类私有, 用getName进行暴露.

因为如果在子类中加入name.age信息,那么就必须要降低父类中name.age的限制安全等级.降为protected甚至更低才可以在子类中调用. 这样不利于信息安全.

说我我们在父类中设置name和age然后通过GetName向外暴露.    这样做的同时就修改了父类的构造器,将父类的构造器设置了参数,相应的,我们就需要修改子类默认的super(),

将super()加上name,age参数    如果外界需要调用age和name通过getName就可以调用.    this.要看清是谁来调用  如果是在Animal中调用this.name = name.   那么this.name指的是Animal的成员变量

如果在Public void say里调用的this.color,  say是Fish的方法.那么this.color指的是类Fish的Color =  private String color.

static不能与this或者super共存.   static是类级别的,    this和super是对象级别的. \

----------------------------------------------------------------------------------------------------------------------------------

Object类和常用类:

面向对象Part3的更多相关文章

  1. 面向对象 part3 构造函数 原型函数

    6.2创建对象 方法:对象字面量  object构造函数 缺点:都是创建单个对象.同一个接口创建多个对象,会产生大量重复代码 6.2.1工厂模式 用函数封装以特定的接口创建对象 function cr ...

  2. day 25 面向对象之接口、抽象类、多态、异常处理、反射、断言

    复习 '''继承​1.父类:在类后()中写父类们class A:passclass B:passclass C(A, B):pass​2.属性查找顺序:自己 -> ()左侧的父类 -> 依 ...

  3. python自动化开发-[第八天]-面向对象高级篇与网络编程

    今日概要: 一.面向对象进阶 1.isinstance(obj,cls)和issubclass(sub,super) 2.__setattr__,__getattr__,__delattr__ 3.二 ...

  4. python基础——18(面向对象2+异常处理)

    一.组合 自定义类的对象作为另一个类的属性. class Teacher: def __init__(self,name,age): self.name = name self.age = age t ...

  5. python语言(七)面向对象、异常处理

    一.异常处理 python解释器检测到错误,触发异常(也允许程序员自己触发异常).程序员编写特定的代码,专门用来捕捉这个异常(这段代码与程序逻辑无关,与异常处理有关).如果捕捉成功则进入另外一个处理分 ...

  6. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  7. angular2系列教程(六)两种pipe:函数式编程与面向对象编程

    今天,我们要讲的是angualr2的pipe这个知识点. 例子

  8. 一起学 Java(二)面向对象

    一.方法函数 函数也称为方法,就是定义在类中的具有特定功能的一段独立代码.用于定义功能,提高代码的复用性. 函数的特点1> 定义函数可以将功能代码进行封装,便于对该功能进行复用:2> 函数 ...

  9. js面向对象学习 - 对象概念及创建对象

    原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...

随机推荐

  1. PHP的性能大坑--strtotime函数

    最近在做一个游戏数据统计后台,最基础的功能是通过分析注册登录日志来展示用户数据.在公司内部测试,用户量很少,所以就没有发现什么性能问题.但是这两天一起放到真实的测试环境,用户量噌噌地就涌进来了,从下午 ...

  2. 求n!最后一位非零数

    引子:求n!末尾0的个数 n!末尾的0来源只有2,5两个质数相乘.所以只需要考察n!中包含多少个2和多少个5.然后取其较小值即为所求.即ans=min(cnt(2),cnt(5)).而转念一想,cnt ...

  3. maven webapp栽坑录

    一.需求 如何将一个java web项目传给别人?放到github上.要想放到github上,就要学会git,markdown和maven.像那些jar包是不鼓励传到github上的,应该尽量把源文件 ...

  4. 【MySQL】函数IFNULL、设置默认时间

    MySql 函数 IFNUll用法说明 IFNULL(expr1,expr2) 如果 expr1 不是 NULL,IFNULL() 返回 expr1,否则它返回 expr2. IFNULL()返回一个 ...

  5. 移动端重要的几个CSS3属性设置

    去掉点击链接和文本框对象的半透明覆盖(iOS)或者虚框(Android) -webkit-tap-hightlight-color:rgba(0,0,0,0); 禁用长按页面时弹出菜单(iOS下有效) ...

  6. NBUT 1457 莫队算法 离散化

    Sona Time Limit:5000MS     Memory Limit:65535KB     64bit IO Format: Submit Status Practice NBUT 145 ...

  7. .技术参数图用pillow自动处理

    python 2.7 pillow 安装python2.7.10(自带pip),修改豆瓣源,下载pillow

  8. 修改.net mvc中前端验证信息的显示方式

    最近一直在学习.net core的用法.想法是通过写一个新闻系统来熟悉一下这个最新的技术.其实,我以前一直对.net技术都是浅尝辄止,最主要原因是没有动力.平时写企业站因为时间原因,不是使用php的框 ...

  9. Android——Handler

    Handler——是Android给我们提供用来更新UI的一套机制,也是一套消息处理机制,可以发送也可以处理消息 主要作用:1)在新启动的线程中发送消息:2)在主线程中获取.处理消息. (想想银行取钱 ...

  10. 传统瀑布式&敏捷开发

    ---传统瀑布式 瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求.分析.设计.编码.测试的步骤顺序进行. 步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等. 瀑布式 ...