Skip to main content

moregeek program

【java入门】十八 面向对象的三大特征之一-继承_qq62fded605da02的博客-多极客编程

        继承是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。​

继承

        继承是面向对象编程的三大特征之一,继承让我们更加容易实现类的扩展。实现代码的重用,不用再重新发明轮子(don't reinvent wheels)。

       继承有两个主要作用:

        1、代码复用,更加容易实现类的扩展

        2、方便建模

继承的实现

        从英文字面意思理解,extends的意思是“扩展”。子类是父类的扩展。现实世界中的继承无处不在。比如:

【Java入门】十八 面向对象的三大特征之一-继承_子类


         图中,哺乳动物继承了动物。意味着,动物的特性,哺乳动物都有;在我们编程中,如果新定义一个student类,发现已经有person类包含了我们需要的属性和方法,那么student类只需要继承person类即可拥有person类的属性和方法。

【示例】使用extends实现继承

public class Test{
public static void main(String[ ] args) {
Student s = new Student('高淇",176,"Java");
s.rest();
s.study);
}
}
class Person {
String name;
int height;
public void rest(){
System.outprintln("休息一会! ");
}
class Student extends Person {
String major; //专业
public void study(){
System.out.println("在尚学堂,学习Java");
}
public Student(String name,int height,String major) {
//天然拥有父类的属性
this.name = name;
this.height = height;
this.major = major;
}

instanceof运算符

instanceof是二元运算符,左边是对象,右边是类;当对象是右面类或子类所创建的对象时,返回true;否则,返回false。比如:

【示例】使用instanceof运算符进行类型判断

public class Test{
public static void main(String[ ] args) {
Student s = new Student('高淇",172,"Java");
System.outprintln(s instanceof Person);
System.outprintln(s instanceof Student);
}
}

继承的使用要点

1、父类也称作超类、基类。     子类:派生类等。

2. Java中只有单继承,没有像C+ +那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。

3. Java中类没有多继承,接口有多继承。

4. 子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法)。

5. 如果定义一一个类时,没有调用extendsr 则它的父类是: java.lang.Object.


©著作权归作者所有:来自51CTO博客作者秃头仙女的原创作品,请联系作者获取转载授权,否则将追究法律责任

#yyds干货盘点# 面试必刷top101:滑动窗口的最大值_风的博客-多极客编程

1.简述:描述给定一个长度为 n 的数组 nums 和滑动窗口的大小 size ,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5

#yyds干货盘点# leetcode 热题 hot 100:无重复字符的最长子串_灰太狼_cxh的博客-多极客编程

题目:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是

java:list 与 数组 相互转换_wx630f055ce23fc的博客-多极客编程

一、 List 转化成 数组list.toArray(); 直接将 list 转换成 Object[] 类型的 数组;Object : 对象类,是所有类的父类Object[] ans1 = list.toArray();list.toArray(T[] a); 输出指定类型的数组,输出的数组类型与括号中参数类型一致;必须是包装类(String、Integer、Character等),不能是基本数

由浅入深,学习在springboot中使用redis_是温度呀的博客-多极客编程

很多时候,我们会在springboot中配置redis,但是就那么几个配置就配好了,没办法知道为什么,这里就详细的讲解一下这里假设已经成功创建了一个springboot项目。redis连接工厂类第一步,需要加上springboot的redis jar包<pre><dependency> <groupId>org.springframework.boot&

基于session、redis 短信登录功能实现,解决session共享,登录状态刷新问题及threadlocal线程隔离_perceus.的博客-多极客编程

短信登录功能实现 短信登录 这一块使用redis共享session来实现 1、准备工作 1.1 导入数据库 SQL:https://gitee.com/pyj646836760/redis-data/blob/master/hmdp.sql 1.2 当前项目模型 手机或者app端发起请求,请求我们的nginx服务器,nginx基于七层模型走的HTTP协议,可以实现基于Lua直

聊聊feign的大致功能和代理类的构建_周杰伦本人的博客-多极客编程

聊聊Feign的大致功能和代理类的构建 Feign相当于RestTemplate+Ribbon+Hystrix,Feign本身集成了Ribbon的依赖和自动装配,Feign的默认的请求超时时长是1秒,我们可以通过配置Ribbon的参数来调整请求处理超时时长,ReadTimeout参数就是请求处理超时时长,单位是毫秒 当服务超时的时候,Ribbon会将请求转移给其他服务,我们可以配置MaxAutoR

#yyds干货盘点# 面试必刷top101:滑动窗口的最大值_风的博客-多极客编程

1.简述:描述给定一个长度为 n 的数组 nums 和滑动窗口的大小 size ,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5

#yyds干货盘点# leetcode 热题 hot 100:无重复字符的最长子串_灰太狼_cxh的博客-多极客编程

题目:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是

超简单的python教程系列——第11篇:lambda、装饰器和其他_freestu的博客-多极客编程

Python 以看起来像魔术而闻名,这可能部分归因于函数可以采用多种形式:lambda、装饰器、闭包等等。一个良好的函数调用可以做惊人的事情,而无需编写一个类!你可能会说函数就是魔法。重新认识函数我们已经接触过​​数据类型和不变性​​中的函数。如果你还没有读过那篇文章,我建议你现在回去看看。让我们看一个函数的简单示例,以确保我们在同一维度。def cheer(volume=None): if

由浅入深,学习在springboot中使用redis_是温度呀的博客-多极客编程

很多时候,我们会在springboot中配置redis,但是就那么几个配置就配好了,没办法知道为什么,这里就详细的讲解一下这里假设已经成功创建了一个springboot项目。redis连接工厂类第一步,需要加上springboot的redis jar包<pre><dependency> <groupId>org.springframework.boot&

基于session、redis 短信登录功能实现,解决session共享,登录状态刷新问题及threadlocal线程隔离_perceus.的博客-多极客编程

短信登录功能实现 短信登录 这一块使用redis共享session来实现 1、准备工作 1.1 导入数据库 SQL:https://gitee.com/pyj646836760/redis-data/blob/master/hmdp.sql 1.2 当前项目模型 手机或者app端发起请求,请求我们的nginx服务器,nginx基于七层模型走的HTTP协议,可以实现基于Lua直

linux---权限的理解_拾至名瑰的博客-多极客编程

前言 上次博客写了一些关于Linux的一些基本指令的用法,本文讲一下Linux中关于权限的理解 正文开始 一、shell命令以及运行原理 在Linux中我们是命令行操作,而windows是图形化界面,本质上定位都是相同的,都是为了让用户进行相关的操作,刚开始都只有的命令行操作,后来才有了图形化界面(用户的使用成本低,并且使用体验好)!对比windows GUI,我们操作windows 不是直接