java类的继承
1、java中类的继承
在现有类的基础上构建一个新类,这个类叫子类,现有类叫做父类(基类)。
2、相关语法
[修饰符] class 子类名 extends 父类名 {....}
例:class dog extends animal {}
3、子类继承父类自动拥有父类共有的属性和方法
注意是共有的方法,default权限以上的属性和方法。
4、java中只支持单继承,不支持多继承。一个类不能同时继承至两个或两个以上的类。
5、父类方法的重写
子类重写父类方法,需要具有相同的方法名,参数列表,返回值类型。
package com.itheima.first;
public class HelloWorld {
public static void main(String[] args) {
Dog dog1 = new Dog();
dog1.shout();
}
}
class Animal {
void shout() {
System.out.println("动物发出了叫声");
}
}
class Dog extends Animal{
void shout() {
System.out.println("汪汪");
}
}
子类对象调用shout()方法,只会调用子类重写父类的shout()方法,不会调用父类的shout().
6、super关键字
当子类重写父类方法后,子类对象无法直接访问父类对象。java中提供了super专门调用父类方法和成员
(1)使用super调用父类成员变量和成员方法,super.成员变量/成员方法
(2)super调用父类构造方法,这里的super相当于父类名,(父类名.静态方法)
注意:super调用父类方法必须位于子类构造方法第一行,并且只出现一次(因为构造方法只能使用一次)
在子类构造方法中一定会调用父类的构造方法。子类可通过super关键字调用父类构造方法,若没有指定,实例化子对象会默认调用父类无参构造方法。
系统会默认提供一种无参构造方法,但如果类中显式定义了构造方法,系统将不会再提供默认无参构造方法了。
6、object类
是所有类的父类。没有用extends关键字直接显式的指定父类的类,那么默认继承object类。
7、final关键字
(1)fina修饰的类叫最终类,不能被继承。(可以理解为:final把类给阉割了,哈哈哈O(∩_∩)O哈哈~)
(2)final修饰的类不能被子类继承
(3)final修饰的变量是常量,只能赋值一次。
版权协议须知!
本篇文章来源于 网络转载 ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
47427 0 2019-11-19