关于继承的继承机制:继承中最常使用的两个关键字是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小知识!的更多相关文章

  1. (11.13)Java小知识!

    今天想要与大家分享一下有关于构造方法的知识! 构造方法的定义与作用 构造方法是一种特殊类型的方法.当一个对象被创建的时候,构造方法用来初始化对象,也就是说构造方法其实是一个名词而不是动词,像我刚刚开始 ...

  2. (11.20)Java小知识!

      经过一段时间的学习,我也终于来到了Java语言的核心篇,也就是对象与类的学习,今天想要和大家分享的是关于类的小知识点. 1.类的声明: 类可以看成创建Java对象的模板.类亦可以理解成Java一种 ...

  3. (11.06)Java小知识

    最近由于课程变化,学习计划也跟着改动,留给我写博客的时间也越来越少.今天晚上没有课,抽空过来图书馆写一写,许久不写感觉都有点陌生了! 今天要和大季家分享的衔接了上一篇博客,是关于方法的嵌套调用与递归调 ...

  4. 每天学点Java小知识【1】

    一 Java标识符和关键字 1.标识符 作用:用来标识类名.变量名.方法名.类型名.数组名.文件名的有效字符序列. 组成规则:由字母.下划线.美元符号和数字组成,且第一个字符不能是数字字符.注意:标识 ...

  5. java小知识,驼峰规则

    单词之间不以空格.连接号或者底线连结(例如不应写成:camel case.camel-case或camel_case形式).共有两种格式: 1.小驼峰式命名法(lower camel case): 第 ...

  6. Java小知识----POI事件模式读取Excel 2007

    一.知识背景 1.读取excel的方法选择问题 java中读excel中的时间,我们通常用POI去解析,在使用new HSSFWorkbook(NEW FileInputStream(excelFil ...

  7. Java小知识--length,length(),size()方法详细介绍

    Java中length,length(),size()区别 length属性:用于获取数组长度. eg: int ar[] = new int{1,2,3} /** * 数组用length属性取得长度 ...

  8. JAVA小知识

    eclipse是日蚀的意思,eclipse是IBM公司的,当年和SUN公司的java竞争,sun的意思是太阳,所以你明白了? Java的起名是 java(爪哇)咖啡,java原意是爪哇的意思,当初起名 ...

  9. (10.23)Java小知识!

    ---恢复内容开始--- 方法的定义: 一般情况下,定义一个方法包含以下语法: 修饰符 返回值类型 方法名 (参数类型 参数名 , ...){ ... 方法体 ... return 返回值; } 修饰 ...

随机推荐

  1. OpenCV 学习笔记(模板匹配)

    OpenCV 学习笔记(模板匹配) 模板匹配是在一幅图像中寻找一个特定目标的方法之一.这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否"相似",当相似度足够 ...

  2. springMvc+hibernate的web application的构建

    闲来没事,想整理下一些知识. 这篇文章是关于spring的web程序的搭建,有什么不对的地方希望大家批评指正. 首先我们要了解什么是spring,这里可能很多大家也都明白,无非是一个管理对象的一个容器 ...

  3. 如何在 UWP 使用 wpf 的 Trigger

    本文需要告诉大家,如何使用 Behaviors 做出 WPF 的 Trigger ,需要知道 UWP 不支持 WPF 的 Trigger . 安装 Behaviors 请使用 Nuget 安装,可以输 ...

  4. mybatis 的mapper配置文件sql语句中, 有时用到 大于, 小于等等

    一, 用<![CDATA[   ]]>标识,例如: <if test="create_timeStart != null and create_timeStart != ' ...

  5. MongoDB关系与数据库引用

    MongoDB关系: MongoDB 的关系表示多个文档之间在逻辑上的相互联系.文档间可以通过嵌入和引用来建立联系. 1. 嵌入关系: 形式:把一个文档嵌入到另一个文档中. 优点:数据保存在单一的文档 ...

  6. Go语言中slice使用注意事项

    Go 语言中的slice类型可以理解为是数组array类型的描述符,包含了三个因素: 指向底层数组的指针 slice目前使用到的底层数组的元素个数,即长度 底层数组的最大长度,即容量 因此当我们定义一 ...

  7. 火狐浏览器打开html文件,中文乱码

    当html文件为: 解决方法: 将   <meta http-equiv="Content-Type" content="text/html; charset=UT ...

  8. jquery中常用的方法和注意点

    1.通过js获取url中的参数值 //通过参数名称name获取url参数function GetQueryString(name) { var reg = new RegExp("(^|&a ...

  9. VPS搭建离线下载服务器——后网盘时代

    动机 由于学习的需要,在国外某服务器厂商购买了vps服务(至于是哪个厂商就不说啦).但是呢,就算用作梯子,一个月1T的流量总是用不完.最经觉得自己营养充足,想找点电影看看. 无奈现在百度网盘的速度真的 ...

  10. Zernike不变矩

    1.Zernike矩介绍 Zernike矩是基于 Zernike多项式的正交化函数,所利用的正交多项式集是 1个在单位圆内的完备正交集.Zernike矩是复数矩 ,一般把 Zernike矩的模作为特征 ...