java的面向对象编程(oop)——继承概述及使用

前言:

整理下相关知识点,打好基础,daydayup!

 其他oop相关的整理可以看这里 

java的面向对象编程(oop)概述及案例 

java的面向对象编程(oop)——static概述及初始单例设计模式 

继承:

1,继承概述

什么是继承

java中提供的一个关键字extends,用这个关键字,可以让一个类与另一个类建立父子关系。

2,继承的特点 

1,子类能继承父类的非私有成员(成员变量,成员方法)

2,子类的对象由子类,父类共同完成 

3, 继承的格式:

类1称为子类;类2称为父类

类1 extends 类2

例:jichengA是jichengB的子类

public class jichengA extends jichengB{

}

例:jichengA(父类)中创建公开成员变量及成员方法后,jichengB(子类)中可以直接使用;同时在其他类中,创建子类后,可以引用父类和子类的公开成员变量及成员方法

 

4,继承的作用:

减轻代码重复

例:a需要设置两个变量a和name;b需要设置两个变量b和name;由于a和b都需要设置name,为了防止代码重复,可以使name成为父类成员变量

做法如下图:A创建a变量,B创建b变量;C创建name变量,同时C为A和B的父类;最后在新的类中创建A和B类既可引用name变量,且同时引用A和B中的name变量时,name值不会被覆盖

5,注意事项 

 1,继承不支持同时继承;但支持间接继承

class a extends b,c {} //不可以,不支持同时继承
--------------------------
class b extends a{}
class c extends b{}
class c {}
//支持间接继承

2,object类为所有类的父类

如图:上下两项相等

class a {}
class a extends object{}

 6,方法重写:

子类写了一个方法名称,形参列表与父类某个方法一样的方法覆盖父类的该方法

例:当B为C的子类时,觉得C里方法不好用时,可以在B里写同样的方法然后进行替换;(注:最好在新替换的方法上写@Override来进行提醒)

7,访问对象

1,在子类方法中访问其他成员(成员变量,成员方法),依照就近原则

先在子类的局部范围内找;其次在子类成员范围内找;最后在父类范围内找

2,如果子父类中,出现了重名的成员,会优先使用子类,使用父类需要使用super关键字,使用子类非局部需要用this关键字,如下:

 8,子类构造器的特点

子类的全部构造器,都会先调用父类的构造器,再执行自己

9,子类构造器如何实现调用父类构造器

1,默认情况,子类全部构造器第一行为super()(默认存在),这个语句会调用父类的无参构造器

2,如果父类没有无参构造器,则必须在子类构造器第一行写super(参数),调用父类有参构造器

注:与super(参数)类似的语句还有this(参数)。super参数调用的是父类有参构造器,而this(参数)调用的是子类自己的构造器。都必须放在构造器的第一行。

整理结束,撒花!

 

 

 

 

 

 

 

  • 32
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值