java中的继承

把多个类相同的内容提取到另外一个类中,然后使用关键字extends来实现继承

(1)语句格式:class 子类名 extends 父类名{...}

eg:要实现一个继承关系至少需要2个类

class Fu{...}

class Zi extends Fu{...}

这里的Zi我们称之为子类,派生类

这里的Fu我们称之为父类,超类,基类

(2)继承的好处:

A.提高了代码的复用性 看一看父类

B.提高了代码的维护性 只需要修改父类的内容

C.让类与类之间产生了继承关系,为了后面多态做铺垫(要有继承才能有多态)

继承的坏处:

A.类的耦合性增强了

a.开发的原则: 低耦合,高内聚

耦合:类与类之间的关系

内聚:类自己本身可以完成的事情

(3)Java中继承的特点:

A.Java中的类class只支持单个继承,不允许多个继承

eg:class Father4{}

class Mother4{}

class Son extends Father4,Mother4{} //错误,不允许这么做

B.Java中的类支持多层继承(形成了一个继承体系)

(4)使用继承时所需要的注意事项:

A.要想初始化子类,必须先初始化父类 。

B.子类只能继承父类的非私有的成员(成员变量和成员方法)。

C.子类不能继承父类的构造方法,但是可以通过super关键字去访问父类的构造方法 ,因为要想初始化子类,必须先初始化父类,是通过构造方法进行初始化的。

D.不要因为一小部分的功能相同而去使用继承。

E.在英语中有一个语法叫“is a” 当两个类满足语法什么是什么的时候,就可以使用继承了。

eg:Person -->Teacher,Student,Doctor

eg:

class Father {
    int num1 = 20;
    private int num2 = 30;

    Father() {
        System.out.println("这是父亲的无参构造方法");
    }

    private void fun1() {
        System.out.println(num1);
    }
}

class Son extends Father {
    public void fun2() {
        System.out.println(num1);
//        System.out.println(num2); // 子类不能继承父类的成员变量
    }
}

public class InheritTest {
    public static void main(String[] args) {
        Son son = new Son();
        son.fun2();
//        son5.fun1(); // 子类不能继承父类的私有成员方法

    }
}
/*运行结果:
这是父亲的无参构造方法
20
 */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值