继承

继承的含义 :
面向对象编程,最重要的就是类的设计。如何将一类事务抽象成所需要的类是我们最常考虑的,继承是面向对象设计的第二大特性,通过继承,可以将原来的类进行了复用和扩充了特性,而类的继承机制,就大大增加了代码的可重用性和可扩充性。 在java中,,即一个类只能最多继承于另一类,也就是说,一个子类最多只能有一个父类实现继承的格式 class 子类名 extends 父类。java继承是定义一种的新的类型,从已有的类中吸收,成员变量和方法,新的类型可以添加新的方法和成员变量。这种方式可以提高代码的复用性,缩短开发周期,减少开发费用。
构造器:子类不能继承父类的构造器,使用super(有参传参)
只能调用父类的构造器。
子类中的构造器,至少有一个调用了父类的构造器。

    **super(有参传参)与this(有参传参),不能共存。
            而且只能放在首行首句。**

方法的重写:
子类可以重新编写继承父类的方法。
(1)方法名相同,参数列表相同
(2)返回值类型可以相同,也可以是
父类方法的返回值类型的子类型
(3)修饰词可以不变,或者可以比父类的修饰权限更大
父类型的变量引用子类型的对象
变量能调用的方法与成员变量
方法:
编译期: 变量只能调用出本类型中的方法
运行期: 变量调用出方法执行逻辑与对象的类型有关
成员变量:
变量调用出的成员变量一定是本类型中的成员变量
Object:是所有引用类型的顶级父类,
系统都会默认使引用类型extends Object.
此类中提供了常用的方法:
1:toString():
在Object中,返回的是类全名@HashCode值,
即对象的内存堆中的位置信息

      【类有类名和类全名之分:
             类名:即最短的名称
             类全名:从包名开始写的名称
       如:  String 是类名
    java.lang.String是类全名                  
      】

此方法会在输出变量时,或引用变量进行拼接时默认调用。

而查看地址信息,通常没有必要,我们通常要查看的是
对象的成员变量信息

因此我们都需要重写toString()方法,用于查看对象的详情
格式:
“[成员变量1=”+成员变量1+”,成员变量2=”+成员变量2+”]”

2:equals(Object obj)
Object类型中的此方法中的逻辑是比较调用者this与形参obj
的地址信息是否相等。
简单说成:比较this与obj是不是同一个对象

所以在定义类型时,继承过来的equals方法 我们要重写。
重写规则:
(1) 查看传进来的obj是不是null
if(obj==null){
return false;
}
(2): 查看传进来的obj是不是this.
if(obj==this){
return true;
}
(3) 查看穿进来的obj是不是本类型
if(obj.getClass()!=this.getClass()){
return false;
}
可以改成
if(!(obj instanceof Person)){
return false;
}
instanceof关键字:
作用是判断引用变量指向的对象是否属于某一类型
语法:
boolean f = 变量名 instanceof 类型名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值