博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java继承
阅读量:5055 次
发布时间:2019-06-12

本文共 1268 字,大约阅读时间需要 4 分钟。

 

一,继承

 

  1. java三大特性之一(封装,继承,多态)。
  2. 继承就是子类继承父类的特征和和行为,使得子类对象(实例)具有父类的实例域和方法,还可以以此基础添加新方法和域来满足需求。
  3. 继承需要符合的关系是:is-a,父类更通用,子类更具体。
  4. java不支持多继承,即一个子类只能拥有一个父类。
  5. 子类对象实例化时一定先实例化父类对象。
  6. java中,所有继承都是公有继承,子类拥有父类非private属性和方法。
  7. 已存在类:父类,超类,基类,新生类:子类,派生类,孩子类。

 

二,案例(格式)

public class Employee{//添加方法和域}//子类继承父类public class Manager Employee{//添加方法和域}

 

三,方法覆盖,super关键字,子类构造器

  • 超类中的有些方法对子类不一定适用,需要子类提供一个新的方法来覆盖超类中的这个方法:
//超类public class Employee{...    public double getSalary(){    return salary;    }}//子类,经理类不仅仅是返回工资 还有奖金的public class Manager extends Employee{...    //覆盖超类的getSalary方法    public double getSalary(){    return salary+bonus; //不起作用    }}
上述覆盖是不起作用的,因为子类不能直接访问超类(员工类)的私有域,所以可以使用特定关键字super,以下是改进:
public double getSalary(){    return super.getSalary()+bonus;}
 

四,super,this关键字

  • this
一是引用隐式参数。
二是调用该类其他构造器。
  • super
调用父类的方法。
调用父类的构造器。
通过super关键字来实现对父类成员的访问,用来引用当前对象的父类,super与this引用不是类似的概念,因为super不是一个对象引用,不能将super赋给另一个对象变量,它只是一个指示编译器调用超类方法的特殊关键字,super指向父类,this是指向自己的引用。

 

五,子类构造器

public Manager(String name,double salary,int year,int month,int day){      //子类调用父类构造器一定要放在语句最前面      super(name,salary,year,month,day);    bonus = 0;}
 因为父类的私有域子类无法访问进行初始化,所以可以通过supers实现对超类构造器的调用。
如果子类构造器没有显式的调用父类构造器,则会自动调用父类无参数的构造器,如果子类既没有显式调用,父类又没有无参数构造器,系统则会报错。

转载于:https://www.cnblogs.com/maopaoer/p/10664884.html

你可能感兴趣的文章
C#Hashtable与Dictionary性能
查看>>
10个让你忘记 Flash 的 HTML5 应用演示
查看>>
8个Python面试必考的题目,小编也被坑过 ToT
查看>>
SQL Server 使用作业设置定时任务之一(转载)
查看>>
centos 图形界面和命令行界面切换(转载)
查看>>
Maven启用代理访问
查看>>
Primary definition
查看>>
第二阶段冲刺-01
查看>>
BZOJ1045 HAOI2008 糖果传递
查看>>
发送请求时params和data的区别
查看>>
JavaScript 克隆数组
查看>>
eggs
查看>>
一步步学习微软InfoPath2010和SP2010--第七章节--从SP列表和业务数据连接接收数据(4)--外部项目选取器和业务数据连接...
查看>>
如何增强你的SharePoint 团队网站首页
查看>>
FZU 1914 Funny Positive Sequence(线性算法)
查看>>
oracle 报错ORA-12514: TNS:listener does not currently know of service requested in connec
查看>>
基于grunt构建的前端集成开发环境
查看>>
MySQL服务读取参数文件my.cnf的规律研究探索
查看>>
java string(转)
查看>>
__all__有趣的属性
查看>>