java(0-3)基础的整理

本文详细介绍了Java中的继承概念,包括为何需要继承(减少代码冗余)、extends关键字的使用、以及对象创建过程中的构造函数调用。此外,还讨论了Java的单继承特性、方法重写和多态性的表现形式,特别是动态绑定的概念。同时,解释了方法重载与重写的区别,并探讨了访问修饰符在重写中的限制。最后,提到了引用类型和对象类型的多态性应用。
摘要由CSDN通过智能技术生成

JVM是java内存模型

为什么要继承?

两个类,子类和父类

两个类出现了重复,所以 需要减少子类中重复冗余的属性和方法

继承:减少子类中重复冗余的属性和方法。怎么减少:把各个子类相同的属性和方法抽取到父类给各个子类继承。

extends继承:

java的类都是直接或间接继承object类,java定义的类没有写extends关键字,是直接继承了object类

下图hashCode来自与object类:

 object类是java祖宗类,或者是顶级父类。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

下图equals比较的还是地址

 下图hashCode间接继承了object类

 extends只能单继承,为了减少业务模型复杂度:

下图Child要么继承A,要么是B,只能有一个:

 子类中创建子类的对象,会先调用父类的构造函数,再调用子类的构造函数

下图Son s = new Son会调用父类和子类构造函数,new Base的话,直接调用父类,不调用子类

 

子类的构造函数必须依赖子类的构造函数:

 父类中没有构造函数的话,会提供默认无参构造函数,子类构造函数中不需要写super().

 父类提供有参构造函数,子类构造函数中要写super(参数)

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

this();表示访问本类的构造函数:

构造函数中a=100;和this.a=100;是一样的。

 this.都是访问本类 super. 都是访问父类:

 

一个父类指向多个子类的现象,叫做动态绑定,     可以去访问父类中的方法,因为Base b声明的是父类,想要访问子类方法,需要应用类型转换

 

 

 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

引用类型,也叫做复合类型,也叫做对象类型

方法重写:

方法重写 ,也叫做方法覆盖   方法名相同 参数列表相同 返回值相同

 调用哪个类的方法,是由new后面的对象决定的

 

 

 

多态:

 表现两种:

 1.一个类中,具有相同的方法,不同的参数列表(个数和类型不同),与返回值类型无关,与static无关,称为方法重载,又叫做编译时多态。

2.在继承关系中,子类和父类具有相同的方法名,相同的参数列表(个数和类型相同),相同的返回值类型, 称为方法重写。

2.1访问修饰符

子类方法重写的访问修饰大于等于父类访问修饰

public->protected->default-private 

private的修饰的父类方法重写,没有被子类继承

2.2 static修饰的父类和子类所谓的方法重写,不是方法重写。(静态方法是属于这个类的,不是属于某类对象的)

子类方法重写的访问修饰符大于等于父类:

 

 static修饰 不是方法重写!!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值