3.JAVA进阶-面向对象-继承、抽象和方法的重写

回顾:

1.包名不允许大写,命名一般是域名反写或公司邮箱加功能

属性:

例:private String id;

构造方法:

没有返回值

为属性赋值创建对象

分成了无参和有参构造方法

无参有默认值

有参没有默认值

所有的类至少保证一个无参构造方法

this表示当前对象

1.继承extends

作用:能够将重复的属性和方法复用,通过继承来完成,降低代码冗余度

可以多重继承不能多继承

有继承,就会有父类(基类、超类)

保存共同属性和方法的类就是父类

子类(扩展类,派生类)

使用父类的共同属性方法的类就是子类

注:所有使用继承类,类都要是属于同类型的类

继承的语法:

子类 extends 父类 {}

注意:java中的类继承是单根(单,单一)继承,extends后面最多只能出现一个类  extend前是子类 extends 后是父类

class a {

属性

方法

}

b 继承了 a

class b extends a{

}

C继承继承了 A B 就是 多重继承

class c extends b{

}

子类不能从父类继承哪些成员?

1.父类中使用private修饰的成员都不能继承

2.构造方法是不能继承的

创建子类对象的流程

class A {

id;

name;

}

class B extends A{

}

new B ( ); //创建子类对象

创建对象流程:

1.在每个子类的构造方法中都有父类的构造方法

2.先创建父类对象

3.创建子类对象

this 是当前对象;

super 是父类对象;

super():调用父类的无参构造方法;

2.方法覆(重)写(override)

1.概念:在子类中有一个方法的签名(方法名/参数列表/形参列表)一致,就是方法的重写   要求:1.方法签名要一致

2.重写方法(子类的方法)的访问修饰符的权限要大于等于父类该方法的访问权限

3.重写方法的返回值类型范围要小于等于父类该方法的返回值类型

4.重写的意义:为了确保方法实现满足业务需求

5.检验一个方法是否是重写方法:@override

3.抽象方法

1、概念:没有方法体的方法就是抽象方法

2、abstract 返回值类型 方法签名;

3、抽象方法使用场景:要求子类必须要重写的方法(强制子类重写方法)

4、抽象方法需要保存至抽象类里

5、抽象类:使用abstract修饰的类,就是用来保存抽象方法

4.Object:

1.在Java是所有类的父类,所有类都是或间接继承继承

2.学习Object中常用的方法

1.toString() 将对象转换为字符串

2.getClass() 获取对象的字节码对象

3.hashCode() 通过哈希算将一个对象转换为10进制的数字

4.equals() 比较两个对象的属性值是否相等

5.== 比较的是对象内存地址是否相等

  1. ==与equals的区别
    1. == 比较的是对象内存地址是否相等
    2. equals比较的是属性值

2.&和&&的区别

&     是并的意思 需要同时满足两个条件才为真,前一个判断为false后还会继续判断后面的条件返回false

&&  是并的意思 需要同时满足两个条件才为真,是具有短路功能如果前一个为false那就会终中断直接返回 false

3.Override与Overload的区别

Overrid  在子类中有一个方法的签名(方法名/参数列表/形参列表)一致,就是方法的重写

Overload 表示同一个类中可以有多个名称相同的方法,但是这些方法的参数列表各不相同

  • 23
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值