零基础学Java—继承的概述(十九)
Posted 王同学要努力
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础学Java—继承的概述(十九)相关的知识,希望对你有一定的参考价值。
【零基础学Java】—】继承的概述(十九)
一、面向对象的三大特征
- 面向对象的三大特征:封装性,继承性,多态性
- 继承是多态的前提,如果没有继承,就没有多态
- 继承解决的主要问题就是:共性抽取
继承关系的特点:
- 子类可以拥有父类的内容
- 子类可以拥有自己专有的内容
二、继承的格式
- 在继承的关系中,子类就是一个父类,也就是说,子类可以被当做父类看待
- 例如:父类是员工,子类是讲师,那么讲师就是一个员工
定义父类的格式:(一个普通类的定义)
public class 父类名称
//....
定义子类的格式:
public class 子类名称 extends 父类名称
//....
/**
* @author :CaiCai
* @date : 2022/4/9 13:38
*/
public class Fu
int numFu=10;
int num=20;
public void methodFu()
System.out.println(num);
三、继承中成员变量访问的特点
在父类的继承关系中,如果成员变量重名,则创建子类对象时,对象有两种访问方式:
- 直接通过子类访问成员变量( 等号左边是谁,就优先使用谁,没有则向上找)
- 间接通过成员方法访问成员变量(该方法属于谁就优先用谁,没有就向上找)
public class Zi extends Fu
int numZi=20;
int num=200;
public void methodZi()
System.out.println(num);
public class Fu
int numFu=10;
int num=20;
public void methodFu()
//因为本类当中
System.out.println(num);
/**
* @author :CaiCai
* @date : 2022/4/9 13:39
*/
/*
在父类的继承关系中,如果成员变量重名,则创建子类对象时,对象有两种访问方式:
直接通过子类访问成员变量( 等号左边是谁,就优先使用谁,没有则向上找)
间接通过成员方法访问成员变量(该方法属于谁就优先用谁,没有就向上找)
*/
public class Demo01Extends
public static void main(String[] args)
Fu fu=new Fu();//创建父类对象
System.out.println(fu.numFu);//10只能使用父类的东西
Zi zi=new Zi();
System.out.println(zi.numZi);//20
System.out.println(zi.numFu);//10
//等号左边是谁,就优先用谁
System.out.println(zi.num);//200
zi.methodZi();//200
//这个方法是在父类中定义的
zi.methodFu();//20
四、区分子类方法中三种重名
- 局部变量:直接写成员变量名
- 本类的成员变量:this.成员变量名
- 父类的成员变量:super.成员变量名
以上是关于零基础学Java—继承的概述(十九)的主要内容,如果未能解决你的问题,请参考以下文章