关于继承的继承机制:继承中最常使用的两个关键字是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. 张高兴的 UWP 开发笔记:手机状态栏 StatusBar

    UWP 有关应用标题栏 TitleBar 的文章比较多,但介绍 StatusBar 的却没几篇,在这里随便写写.状态栏 StatusBar 用法比较简单,花点心思稍微设计一下,对应用会是个很好的点缀. ...

  2. 结对编程之<GoldPointGame>

    我们结对项目的名称是GoldPointGame,这是一个非常经典的老游戏,其规则大致是:N个同学每个人依次报一个(1-100)的有理数,交给裁判算出其平均值,然后乘以黄金点数0.618,最后得到G值. ...

  3. Oracle参数设置之set与reset的实际案例

    Oracle参数设置之set与reset的实际案例 环境:Oracle 10.2.0.5 RAC 需求:节点1的aq_tm_processes要求恢复默认,节点2设置要求保持不变 1.构建测试环境 2 ...

  4. iOS开发从申请账号到上线APP Store步骤

    1.developer.apple.com 申请开发者账号 2.根据API Cloud创建证书: http://docs.apicloud.com/Dev-Guide/iOS-License-Appl ...

  5. 解决Python2.7的UnicodeEncodeError:'ascii' codec can't encode characters in position 0-78: ordinal not in range(128)异常错误

    解决Python2.7的UnicodeEncodeError: 'ascii' codec can't encode异常错误 大家都知道,在使用python进行网络爬虫时,最头疼的就是转码问题,下面是 ...

  6. java自动化-juint框架简述

    本人使用的是java的juint框架来组织的自动化测试,故我这边需要简单介绍一下juint框架 首先,建议自行百度一下juint框架,先有一个大概的了解 所谓的接口自动化测试,会对多个接口中每一个接口 ...

  7. ubuntu 常用命令集

    一.安装的时候,让你输入代替root用户的名称与密码 使用sudo root切换root的时候会要求你输入密码,这时候你输入什么都不对的 要想使用的哈,需要给root设置密码,命令如下: sudo p ...

  8. A - 棋盘问题 POJ - 1321

    在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C. ...

  9. 关于狄克斯特拉算法(dijkstra)总结

    1,2,4是四个定点其他的是距离,从2到4最直接的就是2-4,但是不是最近的,需要舒展一下2-1-4,这样只有8.所以才是最短的.这个过程就是狄克斯特拉算法.下面进入正题:   我们这里定义图的编号为 ...

  10. 从一个实例谈谈postgresql索引锁

    最近客户在使用我司开发的数据库时,报告了如下问题(也不能算是问题,就是疑惑吧),环境如下: OS : Red Hat Enterprise Linux Server release 6.7 (Sant ...