java学习笔记41--继承

1)继承是类和类之间的一种关系
        除此之外,类和类之间的关系还有依赖、组合、聚合等。

    2)继承关系的俩个类,一个为子类(派生类),一个为父类(基类)。
        子类继承父类,使用关键字extends来表示
        例如:
        public class student extends Person{
            
        }

    3)子类和父类之间,从意义上讲应该具有"is a"的关系.
        例如:
            student is a person
            dog is a animal

    4)类和类之间的继承是单继承
        一个子类只能"直接"继承一个父类,就像是一个人只能有一个亲生父亲
        一个父类可以被多子类继承,就像一个父亲可以有多个孩子

        注:java中接口和接口之间,有可以继承,并且是多继承。

    5)父类中的属性和方法可以被子类继承
        子类中继承了父类中的属性和方法后,在子类中能不能直接使用这些属性和方法,是和这些属性和方法原有的修饰符(public protected defaul private)相关的。
            例如:
            父类中的属性和方法使用public修饰,在子类中继承后"可以直接"使用
            父类中的属性和方法使用private修饰,在子类中继承后"不可以直接"使用
        注:具体细则在修饰符部分详细说明
        
        父类中的构造器是不能被子类继承的,但是子类的构造器中,会隐式的调用父类中的无参构造器(默认使用super关键字)。
        注:具体细节在super关键字部分详细说明

    6)Object类
        java中的每一个类都是"直接" 或者 "间接"的继承了Object类.所以每一个对象都和Object类有"is a"的关系。从API文档中,可以看到任何一个类最上层的父类都是Object。(Object类本身除外)
            AnyClass is a Object
        
        例如:
            System.out.println(任何对象 instanceof Object);
            //输出结果:true
        注:任何对象也包含数组对象


        例如:
            //编译后,Person类会默认继承Object
            public class Person{}

            //Student是间接的继承了Object
            public class Student extends Person{}
            

        在Object类中,提供了一些方法被子类继承,那么就意味着,在java中,任何一个对象都可以调用这些被继承过来的方法。(因为Object是所以类的父类)
            例如:toString方法、equals方法、getClass方法等
        
        注:Object类中的每一个方法之后都会使用到.

猜你喜欢

转载自blog.csdn.net/onepiece_loves/article/details/88632613