全网最佳IP代理服务商- 4.8元解锁GTP-稳定的代理服务
如果您从事外贸、海外视频博主、海外推广、海外广告投放,欢迎选择我们。
让您轻易使用国外主流的聊天软件、视频网站以及社交网络等等

一键搭建clash

一键搭建clash

还是从现实中的例子出发,比如人和学生,学生属于人,每个学生都有姓名和年龄,人也拥有这些共通的属性,那么我们就可以说学生继承自人。

java继承是面向对象编程中一种基本概念,可以让子类继承父类的属性和方法,提高代码的复用性。

在这个例子中,Person是被继承的类,叫做父类或超类。而Student是继承后的类,叫做子类或者派生类。

在开发中,比如有学生类和老师类,他们有一些公共的属性,比如名字、年龄等,那么我们就可以提取一个公共的逻辑意义上的父类-人类。

所以,继承是is a的关系,学生是人,老师也是人,这样的情况下就可以生成一个逻辑父类 – Person,然后把学生类和老师类都去继承Person,实现属性和方法的复用一键搭建clash

Java方法重写是指在子类中重新定义父类中的方法,覆盖父类中的方法,使之成为子类的方法。

在开发中,使用方法重写可以让子类具有父类的特性,同时又能够根据自身的需要进行扩展,从而更加灵活地处理业务逻辑。

方法重写也是多态的一种表现形式,它可以让我们调用同一接口,却能够根据不同的实现类,调用不同的实现方法,实现不同的业务逻辑。

如下图,idea中对于重写的方法,有一个向上箭头的标志,点一下就能进入父类的同名方法。

这边就是要记住一个规律啦,当父类方法的返回值是void或者基本数据类型时,子类的重写方法的返回值必须和父类方法完全一致。

当父类方法的返回值是引用类型时,子类的重写方法的返回值可以是父类的其他子类引用。

验证一下clashesjava报错,父类Person有一个getAge方法,我们试着重写这个方法。

我们再创建一个老师类clashesjava报错!,重写父类的getInstance,同时把返回值改成自己。

方法重写要求子类方法的参数列表必须与父类方法的参数列表完全相同,返回值类型也必须完全相同(返回值如果是引用类型则向下兼容,参考上一节);

而方法重载仅要求子类方法的参数个数或类型不同,而返回值类型可以相同也可以不同。

答案是可以的,子类可以重复定义父类的同名属性,到时候使用的就是子类的属性啦。

Java的权限访问修饰符是用来控制类、接口、变量、方法的访问权限的,它有四种:public、protected、default和private。

private代表私有的,只能在本类中访问,其他任何地方都不能访问,包括子类。

连子类中都无法访问,其他地方就都不必说了吧。哪怕你在其他地方把Person类new一个对象除了,都无法直接访问里面的private属性,对象也不行哦。

public代表公有的,在任何地方都能访问,不管跨不跨包,是不是子类,public和private就是两个极端。

protected代表受保护的,允许当前类,同包下的任意类,以及跨包子类调用。就这3个,没多的了,记好就行。

啥权限修饰符都不写,代表默认访问权限,允许当前类,同包下的任意类调用。和protected的区别就是少一个跨包子类调用。

方法重写要求子类方法的访问权限不能低于父类方法的访问权限,即子类方法的访问权限可以和父类方法的访问权限相同,也可以更高,但不能更低。

为什么会这样呢,其实也是来源于生活,父母都希望自己的孩子超越自己,所谓望子成龙,望女成凤啊。

super关键字是Java语言中的一个关键字,它的作用是调用超类中的成员变量和方法,也就是父类的成员变量和方法。

结果是0.0,这是因为Student重写了money属性,所以访问的就是自己的money,要访问到父类的money,我们可以用super:

super关键字也可以用来调用超类的构造方法,这样可以在子类的构造方法中调用超类的构造方法,从而实现继承。

注意:构造方法是没办法被子类重写的。每一个子类对象被创建,都会先去调用父类的构造方法,如果没有显式地用super去指定调用父类的哪个构造方法,就会默认调用父类的无参构造方法。如果你在父类写了一个有参构造方法,但没有写无参构造方法,那么子类的构造方法就会报错。

解决办法,要么你显示地给Person添加无参构造,要么每个子类都要显示地用super去调用一下那个有参构造。

就算是工作好几年的老码农,也常常会在这个地方犯迷糊,这一点也要尤其注意哦!

总之,super关键字是Java语言中的一个关键字,它的作用是调用超类中的成员变量和方法,也可以用来调用超类的构造方法,从而实现继承。

super可以在子类中调用超类中的成员,而this只能在本类中调用本类中的成员。

2、对于那些从父类继承的成员属性和成员方法,this和super访问的是同一个。

Q:已知有Object类、A类和B类,其中A类继承Object类,B类继承A类,以下哪个语句是正确的?

THE END
喜欢就支持一下吧
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称