Java学习:面向对象的三大特征:封装性、继承性、多态性之继承性
面向对象的三大特征:封装性、继承性、多态性。
继承
继承是多态的前提 ,如果没有继承,就没有多态。
继承主要解决的问题就是:共性抽取。
继承关系当中的特点:
- 子类可以拥有父类的“内容”
 - 子类还可以拥有自己的专有的内容。
 

继承的格式:
在继承的关系中,”子类就是一个父类“。也就是说,子类可以被当做父类看待。
例父类是员工,子类是讲师,那么“讲师就是一个员工”。关系:is-a。
定义父类的格式:(一个普通的类的定义)
public class 父类名称{
//...
} 定义子类的格式:
public class 子类名称 extends 父类名称{
//...
}
区分子类重名的三种方法:
- 局部变量: 直接写成员变量
 - 本类的成员变量: this.成员变量
 - 父类的成员变量: super.成员变量
 
注意事项:
无论是成员变量还是成员方法,如果没有都是向上找父类,绝不会向下找子类的。
- 重写(Override):方法名称一样,参数列表【也一样】。覆盖、覆写。
 - 重载(Overload):方法名称一样:参数列表【不一样】。
 
方法覆盖重写的特点:创建的是子类对象,则优先用子类方法。
方法覆盖重写的注意事项:
1.必须保证父子类之间方法的名称相同,参数列表也相同。
- @Override:写在方法前面,用来检测是不是有效的正确覆盖重写。
 - 这个注解就算不写,只要满足要求,也是正确的方法覆盖重写。
 
2.子类方法的返回值必须【小于等于】父类方法的返回值范围。
- 小扩展提示:java.Lang.Object类是所有类的公共最高父类(祖宗类),java.lang.String就是Object子类。
 
3.子类方法的权限必须【大于等于】父类方法的权限修饰符。
- 小扩展提示:public > protected > (default) > private
 - 备注:(default)不是关键字default,而是什么都不写,留空。
 
super和this关键字的用法

扩展:
子类必须调用父类的构造方法,不写则赠送super();写了则用写的指定的super调用,super只能有一个,还必须是第一个。
super关键字用来访问父类的类容,而this关键字用来访问父类内容。用法也有三个:
- 在本类的成员方法中,访问本来的成员变量。
 - 在本类的成员方法中,访问本类的另一个成员方法。
 - 在本类的构造方法中,访问本类的另一个构造方法。
 
在第三种用法要注意:
- A:this(...)调用也必须是构造方法的第一个语句,唯一一个。
 - B:super和this两构造调用,不能同时使用。
 
Java学习:面向对象的三大特征:封装性、继承性、多态性之继承性的更多相关文章
- 面向对象的三大特征——封装、继承、多态(&常用关键字)
		
一.封装 Encapsulation 在面向对象程式设计方法中,封装是指,一种将抽象性函式接口的实作细节部份包装.隐藏起来的方法. 封装的概念(针对服务器开发,保护内部,确保服务器不出现问题) 将类的 ...
 - php面向对象的三大特征 封装,继承,多态
		
对象的主要三个特性 对象的行为:可以对 对象施加那些操作,开灯,关灯就是行为. 对象的形态:当施加那些方法是对象如何响应,颜色,尺寸,外型. 对象的表示:对象的表示就相当于身份证,具体区分在相同的行为 ...
 - JAVA面向对象:三大特征 封装讲解
		
一.JAVA封装 1.封装的理解 封装是 JAVA 面向对象思想的 一 种特性,也是一种信息隐蔽的技术 2.封装的原则 将类中的某些信息隐藏起来,来防止外部程序直接访问,通过类中的方法实现对隐藏的信息 ...
 - Java修炼——面向对象的三大特征_封装的使用
		
封装的作用含义:程序设计追求"高内聚,低耦合" 1.提高代码的安全性 2.提高代码的复用性 3."高内聚":封装细节,便于修改内部代码,提高可 维护性 4.&q ...
 - Python面向对象的三大特征 --- 封装、继承、多态
		
一.封装 1)封装:是面向对象的一大特点:将属性和方法封装在一个抽象类中.外界使用类创建对象,然后让对象调用内部方法.对象方法的细节都被封装在类的内部. class Person(): def _ ...
 - python面向对象的三大特征--封装
		
#coding:utf-8 __author__="tang" #第一个层面的封装:类就是麻袋,本身就是一种封装 #第二个层面的封装:类中定义私有的,只在类的内部使用,外部无法访问 ...
 - (Java)面向对象的三大特征
		
封装.继承与多态 封装 封装的作用(好处) 提高程序安全性,保护数据 隐藏代码的实现细节 统一接口 增加系统可维护性 属性私有(关键字private) 加上Private可使该属性私有于一个类,在其他 ...
 - Java修炼——面向对象的三大特征_多态_多态的三个必要条件
		
多态指的是同一个方法调用,由于对象不同可能会有不同的行为,现实生活中,同一个方法,具体实现会完全不同. 多态的要点: 1.多态是方法的多态,不是属性的多态(多态与属性无关) 2.多态的存在有三个必要条 ...
 - Java面向对象的三大特征和五大原则
		
Java面向对象的三大特征 封装 封装(Encapsulation)是指属性私有化,根据需要提供setter和getter方法来访问属性.即隐藏具体属性和实现细节,仅对外开放接口,控制程序中属性的访问 ...
 - Python面向对象初始(三大特征,多态,继承,封装)
		
Python面向对象的初始 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点是:极大的降低了写程序的 ...
 
随机推荐
- Redis开启远程访问及密码
			
一.开启远程访问 1.开放端口 firewall-cmd --zone=public --add-port=6379 firewall-cmd --zone=public --add-port=637 ...
 - SpringCloud2.0 Hystrix Feign 基于Feign实现断路器
			
原文:https://www.cnblogs.com/songlu/p/9968953.html 1.启动[服务中心]集群,工程名:springcloud-eureka-server 参考 Sprin ...
 - MATLAB之心形图绘制
			
一.静态心形图绘制 (1)效果展示 (2)静态心形原始代码 clc; clear all; ; % 均布三位坐标 x=-:; y=-:; z=-:; [x,y,z]=meshgrid(x,y,z); ...
 - Xcode 10 无开发者账号通过无线网络真机调试
			
Xcode是苹果公司向开发人员提供的集成开发环境,用于开发macOS.iOS.WatchOS和tvOS的应用程序.WWDC18全球开发者大会上,苹果发布了macOS Mojave beta测试版系统, ...
 - centos7.7离线安装nginx
			
一.1.安装openssl,因为编译安装nginx需要指定openssl目录 mkdir /data/openssl -p cd /data/openssl wget https://www.open ...
 - Resource Site
			
GameDevMarket.net Collection of Music, Sound effects (sfx), 2D/3D/GUI Art. http://gaurav.munjal.us/U ...
 - mybatis框架-resultMap的自动映射级别-partial 和full的探讨
			
现在我们做一个小实验,输出一下上一个案例中没有匹配的属性,注意哦,现在user类中是有内部嵌套的复杂数据类型的 运行结果: 注意到:现在居然连userPassword都打印不出来了,原因就是user类 ...
 - [codevs2460]树的统计
			
题目描述 Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w. 我们将以下面的形式来要求你对这棵树完成一些操作: I. CHAN ...
 - quick如何打开工程或者示例
			
quick如何打开工程或者示例 1. 那里打开工程 cc.ui.UIPushButton.new(images, {scale9 = true}) :setButtonSize(buttonWidth ...
 - Eclipse和Tomcat安装使用
			
Tomcat 1.下载地址:http://tomcat.apache.org/ 可以选择安装版或者压缩包版本 解压后: |-bin: 存放tomcat的命令. catalina.bat 命令: sta ...