面向对象继承

简介: 面向对象继承

继承

继承是多态的前提,没有继承就没有多态

子类可以拥有父类的内容

子类还可以拥有自己专属的内容

定义父类格式(一个普通的父类其实就是一个类)

public class 父类名称 { }

定义子类名称(就是子类名称后面加上一个extends父类名称)

public class 子类名称 extends父类名称{ }

再父子类的关系继承中,如果出现成员变量重名,则创建子类对象时有两种访问方式:

直接通过子类对象访问成员变量 (等号左边是谁就优先用谁,没有则往上找)

间接通过成员方法访问成员变量 (该方法属于谁就优先用谁)

区分子类中方法重名三种

局部变量:直接写成员变量名

本类的成员变量名:this.成员变量名

父类的成员变量名:super.成员变量名

在父子类的关系当中,创建子类对象,访问成员方法的规则

创建对象是谁就优先用谁,没有则向上找

重写【override】

重写:方法的名称一样,参数列表【也一样】 覆盖 覆写

重载:方法的名称一样,参数列表【不一样】

方法覆盖重写特点:创建的是子类对象,则优先用子类方法

方法重写的注意事项

必须保证父子类的方法名称和方法参数相同

@Override 写在方法前用来检测是否是有效的覆盖重写

这个注解就算不写只要满足条件也是正确的

子类方法的返回值必须【小于等于】父类方法返回值的范围

子类方法权限必须【大于等于】父类方法权限修饰符

super();用于子类调用父类的构造方法

public Zl() {
    super();
}


三种用法

在子类成员方法中,访问父类成员变量

在子类成员方法中,访问父类成员方法

在子类构造方法内,访问父类构造方法

必须是第一个

this()用于访问本类的内容

在本类的成员方法中访问本类的成员变量

public void mete(){
    System.out.println(this.num);


在本类的成员方法中访问本类的另一个成员方法

public void mate1(){
    System.out.println("AAA");
}
public void mate2(){
    this.mate1();
    System.out.println("BBB");
}


在本类的构造方法中访问本类的另一个构造方法

public Zl() {
    this(12);
}
public Zl(int num) {
    this.num = num;
}


}

this调用也必须是第一个也是唯一一个 不能和super方法同时使用


相关文章
|
3月前
|
C# 索引
C# 面向对象编程(二)——继承
C# 面向对象编程(二)——继承
38 0
|
3月前
|
Java C# 索引
C# 面向对象编程(一)——类
C# 面向对象编程(一)——类
34 0
|
6月前
|
Java 程序员 编译器
Java面向对象之——继承
Java面向对象之——继承
|
算法 Java 编译器
类和面向对象
类和面向对象
105 0
|
Java
Java面向对象继承
继承的概念 继承是面向对象编程中的一个概念,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。子类在继承父类的同时也可以添加自己的属性和方法,从而实现代码的复用和扩展。继承是面向对象编程的三大特征之一,其他两个分别是封装和多态。 继承的作用 1.提高代码的复用性:通过继承,子类可以直接使用父类的属性和方法,不需要重复定义。 2.便于代码的扩展:通过在子类中添加新的属性和方法,实现了代码的扩展。 3.提高代码的可维护性:将公共的属性和方法放在父类中,可以减少重复的代码,从而方便代码维护和升级。
71 0
|
Java
【Java面向对象】继承的认识与实现(1)
【Java面向对象】继承的认识与实现(1)
86 0
|
编译器 C++
类和对象-继承
类和对象-继承
60 1
类和对象-继承
|
编译器 C++
C++类和对象-继承&多态
C++类和对象-继承&多态
75 0
面向对象的封装,继承,多态(一)
面向对象的封装,继承,多态。
80 0
面向对象的封装,继承,多态(一)