JAVA的继承

继承的好处和弊端

好处:
	提高了代码的复用性
	提高了代码的维护性
	让类与类之间产生了关系,是多态的前提
弊端:
	继承是侵入性的
	降低了代码的灵活性
		继承关系,导致子类必须拥有父类非私有属性的方法,让子类自由的世界多了些约束
	增强了代码的耦合性
		代码与代码之间存在关联都可以将其称之为“耦合”。
耦合性:
	代码与代码之间存在关键都可以将其称之为“耦合”

什么时候使用继承:

当类与类之间,存在相同(共性)的内容,并且产生了is a的关系,就可以考虑使用继承,来优化代码。
例如:
	学生:姓名,年龄,性别
	老师:姓名,年龄,性别
	共性
	人:姓名,年龄,性别.

继承的特点

java只支持单继承,不支持多继承,但支持多层继承。
	单继承:子类只能继承一个父类
	不支持多层继承:子类不能同时继承多个父类。
	多层继承:子类A继承父类B,父类B可以继承父类C。

继承的成员变量访问特点

在子类方法中访问一个变量
	子类局部范围找
	子类成员范围找
	父类成员范围找
注意:
		如果子父类中,出现了重名的成员变量,通过就近原则,会优先使用子类的
		如果一定要使用父类的,可以通过super关键字,进行区分
		使用子类成员变量使用this关键字

Zi.java

public class Zi extends FU{
    int a = 20;
    public void method(){
        int a = 30;
        System.out.println(a);  // 30
        // 打印本类成员变量 20
        System.out.println(this.a);  // 20
        // 打印父类成员变量 10
        System.out.println(super.a);  // 10
    }
}

Fu.java

public class FU {
    int a = 10;
}

test.java

public class Test {
    public static void main(String[] args) {
        Zi z = new Zi();
        z.method();
    }
}

继承的成员变量访问特点

super关键字的用法和this关键字的用法相似
	this:代表本类对象的引用
	super:代表父类存储空间的标识(可以理解为父类对象引用)
关键字访问成员变量访问成员方法访问构造方法
thisthis.成员变量,访问本类成员变量this成员方法.(…)访问本类成员方法this(…)访问本类构造方法
supersuper.成员变量,访问父类成员变量super.成员方法(…)访问父类成员方法super(,)访问父类构造方法

继承中成员方法的访问特点

通过子类对象访问一个方法
	子类成员范围找
	父类成员范围找

Fu.java


public class Fu {
    public void show(){
        System.out.println("父类show方法");
    }
}

Zi.java


public class Zi extends Fu{
    public void show(){
        System.out.println("子类show方法");
    }
    public void method(){
        this.show();  // 调用自己的
        super.show();  // 调用父类的
    }
}

Test.java

public class Test {
    public static void main(String[] args) {
        Zi z = new Zi();
        z.method();
    }
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值