java从基础到入门_Java从入门到入土(30)继承基础
面向对象的优势在于代码的复用,继承是实现代码复用的重要手段。Java的继承采用单继承机制,即每个子类只能继承一个父类。被继承的类称为父类,而实现继承的类称为子类。通过继承,子类继承父类的非私有属性与方法,并且还可以在子类中添加自己的属性和方法。
在java中,使用 extends关键字实现继承。
如下为一个有关继承的简单例子:
新建一个User类如下
新建一个Student类并使用extends关键字继承User类
在main函数下运行如下代码
代码解释:
第5行:实例化父类User对象u1
第6行:实例化子类Student对象s1
第7行:对父类对象u1的属性name赋值
第8行:控制台打印u1.name=小明
第9行:调用父类对象u1的方法print(),控制台打印User类
第10,11行:因为Student继承了User类,所以可以对父类属性name赋值。
第12行:控制台打印s1的name和age值。
第13,14行:因为Student继承了User类,所以可以调用父类方法print()。控制台打印User类。调用自己的方法打印Student类。
因为Student继承自User,所以无论是User类的成员变量和方法,还是Student类的成员变量和方法,Student类的实例s1都可以访问,但是对于子类Student新增的成员变量和方法(age,p()),父类是无法访问的。
一旦子类继承了一个父类,子类就自动拥有了父类的非私有类型的成员变量和方法,子类还可以通过添加新的成员变量和方法来扩展父类。
注意:
Java采用单继承机制,即在定义子类时,extends关键字后只能跟一个父类名,但是子类可以通过多个层次实现继承多个类。
子类可以继承父类中访问权限设定为public,protected和默认的成员变量和方法。不能继承访问权限为private的成员变量和方法。
子类可以屏蔽父类的成员变量和重写父类的方法来更改自己的状态和功能。
java从基础到入门_Java从入门到入土(30)继承基础相关推荐
- java判断读到末尾_Java Web入门之java--第一节 java 简介及开发环境安装
本篇博客是Java web入门的第一篇博客,这篇博客主要讲述java语言的一些简介. 一)先从Java语言的诞生说起. 1991年,Sun公司在一个叫做James Gosling的人的带领下,成立了一 ...
- java 快速入门_Java快速入门-01-基础篇
Java快速入门-01-基础篇 如果基础不好或者想学的很细,请参看:菜鸟教程-JAVA 本笔记适合快速学习,文章后面也会包含一些常见面试问题,记住快捷键操作,一些内容我就不转载了,直接附上链接,嘻嘻 ...
- java se入门_java SE 入门之运算符(第三篇)
在 java 中主要有以上运算符,分为 赋值运算符 ,算术运算符.关系运算符(比较运算符),逻辑运算符和三目运算符(三元运算符). 我们一起来学习下吧! 一.赋值运算符 赋值运算符主要有五个.分别是 ...
- java 快速入门_Java快速入门
1- 介绍 首先,学习Java需要什么,先阅这里,这里列出一些开发工具和环境配置: 2- 创建一个工程 首先,我们使用Eclipse(注意就是Eclise,如果没有安装好,选安装好再接着下一个步骤)创 ...
- java中数据结构的应用_Java集合入门 (二)常用数据结构和应用场景-数组
Java极客 | 作者 / 铿然一叶 这是Java极客的第 48 篇原创文章 一.数组的特点 1.数组大小固定 2.一个数组只能存储相同数据类型 3.随机访问性能高 4.存储空间连续,这样可以 ...
- java oop入门_Java OOP入门起源
1.对象的成员 a.成员属性 作用:在java中为某个对象提供描述信息. 语法:对象名.属性名; b.成员方法 作用:在java程序中为对象提供行为能力的一种表现. 语法:对象名.方法名(参数列表); ...
- java怎么开始编写代码_Java编程入门:开始用Java编写代码
你将学到什么 Basic knowledge on algorithms and Java programming Develop programs with conditionals and loo ...
- java 百度贴吧 爬虫_JAVA爬虫入门
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 log4j.properties: 日志相关 log4j.rootLogger=INFO, stdout,D #Console log4j.appende ...
- java 对象和类 教程_Java从入门到放弃教程三 --java的对象和类
实例变量和方法可以通过创建对象来访问. 首先,创建一个对象: ObjectReference = new Constructor(); 现在可以访问变量了 ObjectReference.variab ...
最新文章
- golang 第三方包的使用总结
- 读取SD卡里面的BMP文件 显示到TFT上
- 二次创业成功人士的19个经验与教训
- 郁金香汇编代码注入怎么写看雪_雷军1994年写的诗一样的代码,我把它运行起来了!...
- 高校教师职称制度将迎重大改革,教师怎么看?
- Mysql union联合查询_Mysql联合查询union和union all的使用介绍
- vue watch 修改滚动条_Vue.js 中滚动条始终定位在底部的方法
- 克隆CentOS设置网络连接
- 《机器学习实战》读书笔记——Logistic回归
- mybatis逆向工程生成java代码和xml配置
- HackerRank 算法刷题笔记(一),基于Go语言
- 获取时间戳及转化为yyyyMMdd格式的时间
- 特斯拉Q2业绩不及预期 盘后股价下跌11%
- HTTP和URL详细分析
- Tool:Visio2016/Visio2019专业版64位中文下载、安装(图文教程)之详细攻略
- C#中Atan()与Atan2()
- iPhone鼎力支持 H.265编码技术及画质PK
- [原创]插卡路由器对接openwrt对接国内节点 手机免流通过USB口共享流量给路由器教程
- java wechat_Java调用WeChat's API总结
- GitHub开源社区 最火的Android开源项目
热门文章
- mysql密码过期问题
- [NOIP2015] 提高组 洛谷P2661 信息传递
- 转:iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- 简单高效地控制高亮度LED
- 手把手教你用FineBI,快速搭建可视化驾驶舱
- 程序员谈网络改变我们的生活
- 水滴石穿C语言之static辨析
- transition属性详细讲解
- d3设置line长度_Graph Embedding之LINE算法解读
- cad图纸问号怎么转换文字_CAD打开图纸后字体显示为问号,这样解决治标治本(送)...