JavaBasic_07
面向对象三大特征
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的更多相关文章
随机推荐
- 查看MySQL的线程
通过两张表查看MySQL的线程:information_schema.processlist 和 performance_schema.threads processlist是information_ ...
- web技术栈中不可或缺的Linux技术
Web技术最重要的载体便是服务器,服务器运行在公共的网络环境下,为广大的用户提供网页浏览.信息通讯.消息推送等服务,从最开始的硬件服务器到虚拟主机技术,再到虚拟化技术的出现和云概念的兴起,绝大部分都是 ...
- Unity中UGUI之Canvas属性解读版本一
Canvas的基本属性 1.Canvas Scaler组件 : Canvas Scaler组件用于设置处于不同组件下Canvas画布中的元素的缩放模式. Ui Scaler Mode : 设置UI的缩 ...
- [BZOJ1588]营业额统计
Problem 每次给你一个数,找出前面的数与这个数的差的绝对值的最小值 Solution Splay Notice 找不到前驱和后继时,会出错. Code #include<cmath> ...
- Git的基本使用(github)
关于Git的基本使用: 上传本地文件到github仓库中 首先要有自己的github账号,新建仓库: saiku-3.9 其次 本地安装好 git , 在本地任意目录下新建目录 saiku-3.9, ...
- MATLAB图片折腾3
把视频抽帧,转化成图片 我的代码如下,成功实现clc;clear;videofilename='k:\GraduationWork\Resource\video.wmv'; %where you pu ...
- Android : SELinux 简析&修改
一 SELinux背景知识 SELinux出现之前,Linux上的安全模型叫DAC,全称是Discretionary Access Control,翻译为自主访问控制.DAC的核心思想很简单,就是: ...
- jdk8-四大函数式接口
jdk8四大核心接口 1.Comsumer接口 2.Function函数型接口 3.断言型接口 4.供给型接口 核心接口的子接口
- 4.4 C++虚析构函数
参考:http://www.weixueyuan.net/view/6373.html 总结: 构造函数是不能声明为虚函数的,析构函数可以被声明为虚函数. 将基类的析构函数声明为虚函数之后,派生类的析 ...
- 1.5 socket服务器传输文件
socket服务器代码 # -*- coding: utf-8 -*-import sys,os,time,_thread from socket import * host = 'localhost ...