学习java的继承

1.什么是继承

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

例如

public class B extends A {
---
}

在这里,我们称A类为父类(也被称为基类或者超类)B类称为子类(或者是派生类)。

2.继承的特点

子类可以继承父类的非私有化成员(包括成员变量和成员方法)。

3.继承后对象的创建

子类的对象是由子类、父类共同完成的。

4.使用继承的好处

可以减少代码的编写。

public class People {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
public class Teacher extends People {

    private String subject;

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public void getPeopleName() {
        System.out.println(getName());
    }
}

5.权限修饰符

用来限制类中的成员(成员变量,成员方法,构造器,代码块。。。。)能够被访问的范围。

修饰符在本类中在同一包下的其他类任意包下的子类中任意包下的任意类中
private
缺省
protected
public

6.单继承

java是单继承的,不支持多继承,但是支持多层继承

7.Object类

java所有类的祖宗,我们写的任意的一个类都是Object的子孙类。

8.方法重写

当子类觉得父类中的某个方法不好用,或者无法满足自己的需求时,子类可以重写一个方法名称,参数列表一样的方法,去覆盖父类的这个方法,这就是方法重写。重写后,方法的访问,java会遵循就近原则。

重写需要添加@Override.加上了,安全性增加了,可读性好,子类重写父类方法后,访问权限必须大于或者等于父类该方法的权限(public>protected>缺省),重写方法返回值类型,必须和重写方法和返回值类型一样,或者范围更小。

私有方法,静态方法不能被重写,如果重写会报错。

9.方法重写的应用场景

案例:子类重写Object类的toString()方法,可以返回对象的内容。

也就是父类的方法不满足自己的需求时,就可以方法重写。

10.子类访问的特点

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

直接访问就是局部变量,使用this关键字就是子类成员变量,使用super就是父类的成员变量。

package com.web201.extends_visited;

public class People {
    String name = "父类的名字";
}

 

package com.web201.extends_visited;

public class Student extends People {
    String name = "子类的名字";

    public void printName() {
        String name = "局部变量的名字";
        System.out.println(name);//局部变量的名字
        System.out.println(this.name);//子类的名字
        System.out.println(super.name);//父类的名字
    }
}
package com.web201.extends_visited;

public class Main {
    public static void main(String[] args) {
        Student student = new Student();
        student.printName();

    }

}

 

11.子类构造器的特点

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

因为子类的构造器都默认有一个super();他是默认存在的。

如果父类没有无参数构造器,则我们必须在子类构造器的第一行手写super(.......),指定去调用父类的有参数构造器。

  • 17
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

与风过山岗

您的鼓励是我莫大的荣幸

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值