• JAVA类与对象(七)------继承


    理解:继承可以理解为一个对象获取属性的过程。如果类A是类B的父类,而类B是类C的父类,我们也称C是A的子类,类C是从类A继承而来。     在java中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类。

    关键字:extends和implements。

    这两个关键字的使用决定了一个对象和另一个对象是否是IS-A(是一个)关系。

    例:

    // A.java
    public class A {
        private int i;
        protected int j;
     
        public void func() {
     
        }
    }
     
    // B.java
    public class B extends A {
    }

    注意:上例说明B由A继承而来,B是A的子类。作为子类,B的实例拥有A所有的成员变量,但是对于private的成员B却没有访问权限,这保   证了A的封装性。

    IS-A关系:一个对象是另一个对象的分类!我们通过使用instanceof 操作符,能够确定Mammal IS-A Animal。

    class Animal{
    
    }
    class Dog extends Animal{
    
    }
    
    class Cat extends Animal{
    
    }
    
    class Pig extends Animal{
    
    }
    
    public class AnimalTest{
        public static void main(String args[]){
            Dog dog=new Dog();
            Cat cat=new Cat();
            Pig pig=new Pig();
            System.out.println(dog instanceof Animal);
            System.out.println(cat instanceof Animal);
            System.out.println(pig instanceof Animal);
        }
    }

    我们再来看下implements关键字是怎样使用来表示IS-A关系。

    Implements关键字使用在类继承接口的情况下, 这种情况不能使用关键字extends

    interface Animal{}
    
    class Mammal implements Animal{}
    class Dog implements Animal{}
    
    public class AnimalTestTwo {
       public static void main(String args[]){
    
          Mammal m = new Mammal();
          Dog d = new Dog();
    
          System.out.println(m instanceof Animal);
          System.out.println(d instanceof Animal);
       }
    } 

    Java只支持单继承(继承基本类和抽象类),但是我们可以用接口来实现(多继承接口来实现),脚本结构如:

    public class Apple extends Fruit implements Fruit1, Fruit2{}
    一般我们继承基本类和抽象类用extends关键字,实现接口类的继承用implements关键字。
  • 相关阅读:
    DP -- 递推
    二分查找题
    动态规划
    二分专题
    并查集
    三分法
    二分法
    插入排序
    排序小结
    Go go.mod入门
  • 原文地址:https://www.cnblogs.com/scf141592/p/5729776.html
Copyright © 2020-2023  润新知