面向对象三大特征

1.封装

封装是一种信息隐藏技术

a.是指数据和基于数据的操作封装在一起,数据被保护在内部(类的内部(对象))

b.系统的其他部分只有通过在数据外面的被授权的操作才能进行交互(没有授权的操作就不能被访问 隐藏)

隐藏的好处:

1.可以控制自己,哪些东西对外部可见,哪些东西对外部隐藏(访问控制)

2.通过隐藏,我们只让外部,访问到必须对外部可见的部分,这样的好处是,在修改代码,就可以随意修改,而不需要考虑,修改完代码后,对代码使用者的影响。

2.继承

不劳而获,什么都不敢,就已经得到一些东西了 (代码复用)

  • 使程序结构清晰,减少了编码和维护的工作量,子类可以使用父类所提供的方法,实现了代码的复用
    class WangdaoStudent extends Students
    WangdaoStudent:是Students子类
    Students: 被WangdaoStudent继承, Students是WangdaoStudent的父类

3.多态

用同一函数调用实现不同的操作的方法——同一方法,在不同的情况下,表现出不同的行为。

方式1:同一类中参数不同的同名方法(重载)

1.编译时多态(方法重载):

任意类的的方法名,在不同的参数列表的情况下,产生不同的行为 (编译时多态)

重载:不是子类对父类同名方法的重新定义,而是类对自身已有的同名方法的重新定义。重载方法的参数必须不同,或者是参数个数不同,或者是参数类型不同

方法签名: 声明方法的方法头中方法名中加上方法的参数列表 方法名+参数列表

1.可以唯一确定一个方法

2.类体中不能声明签名完全相同的两个方法

3.当两个方法具有相同的方法名,但有不同数量或类型的参数,而导致不同的方法签名时,称这两个方法为互相重载。

    System.out.println(“earth”);
    System.out.println(100);
    system.out.println(new Body(“Sun”));

2.运行时多态:父类和子类之间的同名方法(发生的范围,不是任意类,只有有继承关系的类中,才有可能发生运行时多态)

运行时多态:只有在jvm运行,jvm才会知道执行的父类中的同类方法还是子类中的同名方法。

JavaBasic_07的更多相关文章

随机推荐

  1. Hadoop--Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Starting namenodes on [localhost]

    Unable to load native-hadoop library for your platform... using builtin-java classes where applicabl ...

  2. textarea标签内的文字无缘故居中解决原因

    <textarea> 内容内容 </textarea> 浏览器会解析为 <textarea><br>     内容内容</textarea> ...

  3. Android 编码规范

    1.文件编码:UTF-8 源文件编码格式为 UTF-8. 2.数组初始化:可写成块状结构 数组初始化可以写成块状结构,比如,下面的写法都是OK的: new int[] { 0, 1, 2, 3 } n ...

  4. 基于bootstrap的后台左侧导航菜单和点击二级菜单刷新二级页面时候菜单展开显示当前菜单

    本文使用的框架版本为: bootstrap3,Jquery2.1.0  (其他jquery可能会报错,菜单项不执行 效果如下: 1.在项目中引入框架: <link rel="style ...

  5. js原生回到顶部

    <!DOCTYPE html><html><head> <meta content="测试demo" name="Keyword ...

  6. webpack分离打包css和less

    github仓库:https://github.com/llcMite/webpack.git 为什么要分离打包?       答:刚开始学webpack的时候就很郁闷,明明没几个文件,打包出来体积特 ...

  7. .net core Asp.net Mvc Ef 网站搭建 vs2017 1)

    1)开发环境搭建 首先下载安装vs2017  地址 :https://www.visualstudio.com/zh-hans/downloads/ 安装勾选几项如下图 ,注意点在单个组件时.net ...

  8. DeepLearning4J

    http://blog.csdn.net/nysyxxg/article/details/52554734

  9. Java 几种showMessageDialog的表示

    最近在做swing程序中遇到使用消息提示框的,JOptionPane类其中封装了很多的方法. 很方便的,于是就简单的整理了一下. 1.1 showMessageDialog 显示一个带有OK 按钮的模 ...

  10. Netty完成网络通信(二)

    Netty是基于NIO的框架,完善了NIO的一些缺陷,因此可以用Netty替代NIO Netty实现通信步骤: 1.创建两个NIO线程组,一个专门用于网络事件处理(接受客户端的连接),另一个则进行网络 ...