面向对象(一)

  一直觉得面向对象是个很宽广的词语,很抽象,不理解其意思。最近写了一点代码,再看了看书,才浅显的懂了一些,以下作为记录。

      首先,先别去考虑什么是面向对象,只需要面向对象有三个特点:封装,继承,多态。当你分别明白这三个特点的意思及用法时,我想你已经掌握了面向对象了。

      继承:java继承是单继承,并且子类只能直接继承于一个父类。继承的关键字是extends,extends英译过来是“扩展”的意思。指的是子类可以扩展父类的一些方法;之所以翻译成“继承”,是因为去了中国人继承父辈一些资产,习惯等寓意。也就是说子类会继承父类的一些方法,但同时子类也可以扩展优化覆盖父类的方法。

     代码举例:

    父类:创建一个父类PersonTest(人类),person类有个方法person,person can walk

public class PersonTest {public void Person(){
        System.out.println("person can walk");
    }
}

  子类:创建一个子类SupermanTest(超人),继承父类PersonTest,并且重写了person方法,Superman can walk and fly

public class SupermanTest extends PersonTest {
    public void Person(){
        System.out.println("Superman can walk and fly");
    }
    public static void main(String args[]){
        PersonTest p = new PersonTest();
        p.Person();                                //person can walk
        SupermanTest superman = new SupermanTest();
        superman.Person();                         //Superman can walk and fly
    }
}
  • 创建父类实例,PersonTest p = new PersonTest();
  • 调用父类方法,p.Person();
  • 执行结果,person can walk
  • 创建子类实例,SupermanTest superman = new SupermanTest();
  • 调用子类方法,superman.Person();
  • 执行结果,Superman can walk and fly

总结:  

  子类继承父类,在子类实例可以调用父类方法,也可以调用自己子类中的方法,子类可以重写父类方法。

原文地址:https://www.cnblogs.com/xiaowei89426/p/9055452.html