(11.28)Java小知识!
关于继承的继承机制:继承中最常使用的两个关键字是exteds和implements。今天主要和大家分享extends的知识点。这两个关键字的使用决定了一个对象和另一个对象是否是IS-A关系。同时我们还能实现一个对象获取另一个对象的属性或方法。
1.继承的定义:
通过extends关键字可以申明一个类是继承另外一个类而来的,一般形式如下:
public class A{ //A.Java
private int i;
protected int j;
public void func(){...
}
}
public class B extends A {...//B.Java
}
以上代码说明,类B有类A继承而来的,B是A的子类,而A是Object的子类。作为子类,B 的实例拥有A所有的成员变量,但对于private的成员变量类B却没有访问权限,这保障了A的封装性。
另外在程序的处理中发现两个类的定义非常相似,有很多的相同点,如教师的属性姓名,所属学校类似,类的方法也基本相同。针对这种情况,将两个类的共性抽取出来,形成父类,使得这两个类成为父类的子类,则子类继承父类的基本属性和方法,不再存在重复的代码,从而实现了代码的复用性。
2.继承的传递性:
类的继承是可以传递的。类B继承了类A。类C又继承了类B,这是C包涵A和B的所有成员及方法,以及C自身的成员与方法,这称为类的继承的传递性。类的传递性对Java语言有重要的意义。
3.类中的属性的继承与隐藏:
关于类的属性继承也就是子类可以以继承父类的所有非私有属性,而关于属性的隐藏,指的是子类可以隐藏继承的成员变量,对于子类,可以从父类继承的成员变量,只要子类中定义的成员变量和父类中的成员变量同名,子类就隐藏了继承的成员变量。
4.方法的继承:
父类中的非私有方法都可以被子类继承:
class Person{ //父类
private String name;
private int age;
public void initInfo(String s,int i) {
name = s;
age = i;
}
public void showInfo() {
System.out.println("尊敬的"+name+",您的年龄为:"+age);
}
}
public class SubStundent extends Person{ /子类继承父类
private String school;
private int engScore;
private int JavaScore;
public void setScore(String s,int e,int j) {
school=s;
engScore=e;
JavaScore=j;
}
public static void main(String[] args) {
SubStundent objStudent = new SubStundent();
objStudent.initInfo("李四", 22);
objStudent.showInfo();
objStudent.setScore("清华大学",85,90 );
}
}
在子类继承父类的成员方法是,应注意:
1.子类不能访问父类的private成员方法,但是子类可以访问父类的public、protected成员方法。
2.访问protect的成员方法时,子类和同一包内的方法都能访问父类的protected成员方法,单其他方法不能访问。
5.方法的覆盖:
覆盖是子类对父类的允许访问的方法的实现过程进行重新编写,并且这个方法的名字、返回类型、参数列表与从父类继承的方法完全相同。覆盖的好处在于子类可以根据需要,定义自己特定的 行为。也就是说,子类能够根据需要实现父类的方法。在面对对象原则里,覆盖意味着可以重写任何现有方法。子类通过方法的覆盖可以隐藏继承的方法。
6.方法的重载:
与方法的覆盖不同,方法的重载不是父子类之间的同名方法的调用,而是在一个类中允许同名的方法存在,是类对自身同名方法的重新定义。重载是在一个类里面实现的,方法的名字相同而参数等不同。返回类型可以相同也可以不同。每个重载方法都必须有一个独一无二的参数类型列表。
(11.28)Java小知识!的更多相关文章
- (11.13)Java小知识!
今天想要与大家分享一下有关于构造方法的知识! 构造方法的定义与作用 构造方法是一种特殊类型的方法.当一个对象被创建的时候,构造方法用来初始化对象,也就是说构造方法其实是一个名词而不是动词,像我刚刚开始 ...
- (11.20)Java小知识!
经过一段时间的学习,我也终于来到了Java语言的核心篇,也就是对象与类的学习,今天想要和大家分享的是关于类的小知识点. 1.类的声明: 类可以看成创建Java对象的模板.类亦可以理解成Java一种 ...
- (11.06)Java小知识
最近由于课程变化,学习计划也跟着改动,留给我写博客的时间也越来越少.今天晚上没有课,抽空过来图书馆写一写,许久不写感觉都有点陌生了! 今天要和大季家分享的衔接了上一篇博客,是关于方法的嵌套调用与递归调 ...
- 每天学点Java小知识【1】
一 Java标识符和关键字 1.标识符 作用:用来标识类名.变量名.方法名.类型名.数组名.文件名的有效字符序列. 组成规则:由字母.下划线.美元符号和数字组成,且第一个字符不能是数字字符.注意:标识 ...
- java小知识,驼峰规则
单词之间不以空格.连接号或者底线连结(例如不应写成:camel case.camel-case或camel_case形式).共有两种格式: 1.小驼峰式命名法(lower camel case): 第 ...
- Java小知识----POI事件模式读取Excel 2007
一.知识背景 1.读取excel的方法选择问题 java中读excel中的时间,我们通常用POI去解析,在使用new HSSFWorkbook(NEW FileInputStream(excelFil ...
- Java小知识--length,length(),size()方法详细介绍
Java中length,length(),size()区别 length属性:用于获取数组长度. eg: int ar[] = new int{1,2,3} /** * 数组用length属性取得长度 ...
- JAVA小知识
eclipse是日蚀的意思,eclipse是IBM公司的,当年和SUN公司的java竞争,sun的意思是太阳,所以你明白了? Java的起名是 java(爪哇)咖啡,java原意是爪哇的意思,当初起名 ...
- (10.23)Java小知识!
---恢复内容开始--- 方法的定义: 一般情况下,定义一个方法包含以下语法: 修饰符 返回值类型 方法名 (参数类型 参数名 , ...){ ... 方法体 ... return 返回值; } 修饰 ...
随机推荐
- 吾八哥学Python(二):Python代码编辑器的选用
Python开发环境配置好了,但发现自带的代码编辑器貌似用着有点不大习惯啊,所以咱们就找一个"好用的"代码编辑器吧,网上搜了一下资料,Python常用的编辑器有如下一些: 1. S ...
- CSS之 float 属性
特性: float的设计初衷仅仅是文字环绕效果 浮动具有破坏性,会使父容器高度塌陷 清除浮动方法: 1.脚底插入cleart:both 2.父元素BFC(IE8+)/haslayout(IE6/7 ...
- js实现微信朋友圈模糊图片功能
本人第一次写文章 ,写的不好大家就凑合着看吧. 界面的简单效果. 主要html如下 <div id="content"> <!--模糊图片--> <i ...
- ELK系列~NLog.Targets.Fluentd到达如何通过tcp发到fluentd
最近火的不能再火的日志框架就是ELK,其中E(Elasticsearch)表示日志存储,L(Logstash)表示日志收集,K(kibana)表示日志的UI界面,用来查询和分析,而其中的L可以使用Fl ...
- Vue directive 回调运用
Vue的官方自定义directive,基本调用简洁如下: Vue.directive('my-directive', { bind: function () {},// 指令与被绑定元素第一次绑定时触 ...
- BZOJ-1045-[HAOI2008] 糖果传递(中位数原理)
Description 有n个小朋友坐成一圈,每人有ai个糖果.每人只能给左右两人传递糖果.每人每次传递一个糖果代价为1. Input 第一行一个正整数nn<=1'000'000,表示小朋友的个 ...
- JqueryMobile基础之创建页面
首先简答介绍一下JQueryMobile吧,我觉得用一句话来讲就是可以 "写更少的代码,做更多的事情" : 它可以通过一个灵活及简单的方式来布局网页,且兼容所有移动设备.这也是我自 ...
- 用 Smali 手写一个可运行的 HelloWorld!!!
一.前言 Android 的 App 实际上并不是运行在 Java 虚拟机中,而是运行在 Dalvik 虚拟机中.Dalvik 虚拟机对 Java 虚拟机做了一些额外的优化,让它更适用于移动设备.而 ...
- 树莓派.安装Samba环境
适用于树莓派3 树莓派装好系统后, 为了方便传文件到树莓派, 建议使用Samba这类文件夹级别的应用, 比ftp方便多了 如果你想把树莓派变成Nas, Samba也是不可或缺的应用 通过samba服务 ...
- vue 起步走 --“安装篇”
在说明之前,溶解得在这说一句 ,菜鸟开始安装这些东西真是不容易,各种疯狂的百度,搜索.(找的我眼泪都快流下来了),不说废话,开始正经. 第一步:环境的搭建 : vue推荐开发环境: Node.js: ...