#JAVA知识点
什么是方法的重载? //(加粗很重要哦~)
//在同一个类中,方法名称相同,参数不同(数量不同,类型不同,不同类型顺序不同)。
什么是方法的重写?
1、子类继承父类
2、方法名称相同,返回类型相同。
3、访问权限 >=父类
什么是多态?多态的必要条件是什么?
一种类型多种表现形态。
必要条件:
1、继承(多个类继承同一个方法)
2、重写(子类重写父类方法)
对比抽象类和接口的相同点和差异点
相同点:
1、两者都不可以实例话
2、都可以有属性
3、都可以有抽象方法
不同点:
1、抽象类可以有构造方法,而接口不可以
2、接口的方法为公共抽象方法,而抽象类以abstract修饰抽象方法
abstract class/interface
extends /implements
3、接口的属性为公共静态常量.
抽象类与接口的应用场景
//是一个is a A extends{abstract}B 重用
//有一个has a A implements interface B 扩展
//面向修改是封闭的,面向扩展是开放的
为了更好的理解extends 和 implements
1、在类的声明中,通过extends来创建一个类的子类;一个类通过implements声明自己使用一个或者多个接口.
extends是继承某一个类,继承之后可以使用这一个类的方法,也可以重写这个类的方法;
implements是实现多个接口,接口的方法一般为空,必须重写才能使用。
2、extends是继承父类,只要那个类不是****final或者是abstract,都可以继承
JAVA不支持多重继承,但可以以接口的方式来实现
继承可以继承一个类,而接口可以实现多个接口,比如Class A extends B implements C,D,E
多个无关的类可以实现同一个接口,一个类可以实现多个无关的接口
方法参数的值传递和引用传递?
1、值副本传递为值传递
2、对象的引用(对象在堆中的地址)传递为引用传递 用new创建的传递就是引用传递
引用类型的类型转换
自动类型转换:子类对象给父类的引用
强制类型的转换:将父类引用指向的子类对象,转换为子类对应的实际引用
boolean is = objectA instanceOf classB;
((classB)objectA).specialAct();
注明: ***extends与implements的不同***是看tolcf写的文章理解加修饰的.