继承
继承的特点:
1.①基于某个父类的扩展,制定出一个新的子类,子类可以继承父类原有的属性和方法②也可以增加父类所不具备的属性和方法。③还可以直接重写父类的某些方法。特别注意的是在继承关系中,父类的构造方法会先被调用,然后再实例化子类的对象。
2.我们通过super关键字显示地调用父类的构造方法,并且必须要写在第一行。
3.Java中所有类的父类都是object,object类中getClass()、notify()、notifyAll()、wait()等方法不能被重写,因为这些方法被定义为final类型
4.继承的关键字是extends。
5.Java语言类间的继承关系是单继承。
继承机制将使该类的父类对象自动初始化。
对象类型的转换:
向上转型:
将子类对象看作父类对象被称为“向上转型”(子转父)。
向下转型:
将父类对象直接赋予给子类被称为“向下转型”(父转子)。由于父类对象不一定是子类的实例。所以会有发送编译错误,解决这种问题的方法是通过显示类型转换
判断该对象是否是该类的对象的方法。
Instanceof关键字的作用是判断一个类是否实现了某个接口,也可以判断一个实例对象是否属于一个类。
重写
方法的重写:
一个子类除了可以继承父类的属性和方法外,还可以重写父类的方法,重写的意思是保留父类中的方法名,但是方法的实现内容,或是成员的返回值类型都被子类给修改了。特别需要注意的是,当重写父类的方法时,修改方法的修饰权限只能从小的范围到大的范围改变。
重载
方法的重载:
就是方法名不变,但是方法是里面的参数个数或是参数类型不同,或是方法返回值类型的不同(一不变,三不同)。
为什么有方法的重载:
我们已经指定构造方法是由类名决定,所以构造方法只有一个名称,但如果希望以不同的方式来实例化对象,就需要多个构造方法来完成,为了让方法名相同而形参不同的构造方法同时存在,所以我们需要方法重载。
抽象类
什么是抽象类:
被关键字abstract修饰的类叫抽象类
抽象类能做什么:
抽象类能被继承,因为它除了被继承没有任何意义,越是抽象,因为它不需要实例化。
要点:
类只有被抽象修饰那就是抽象类,那么该类中的方法就必须被定义为抽象方法,抽象方法没有方法体。
抽象类不能直接实例化对象。
接口
-
接口是抽象类的延伸,接口中所有的方法也都没有方法体。
-
Java中没有多继承,但是可以实现多个接口,这样间接的完成了多继承任务
-
定义(声明)接口的关键字是interface
-
注意:
接口中定义的方法必须是public或abstract形式,在接口中任何字段都自动是static和final的
-
接口被用来实现,实现接口的关键字是implements,实现接口就必须实现该接口的方法。
-
接口中的数据成员默认的修饰符是public static final.
-
接口中的成员方法默认的修饰符是public abstract.
作者:Ain_xiaobai
来源:CSDN
原文:https://blog.csdn.net/ain_xiaobai/article/details/79286195