面向对象总结

 

----------------------- android培训java培训、java学习型技术博客、期待与您交流! ----------------------


          


             在之前的C语言中,面向过程是主角,编程的主要思路专注于算法的实现,采用自上而下的方式;而在Java中采用了更为高效的面向对象思想,采用自下而上的方式;面向对象思想将程序将要解决的问题细化为各种相互关联的对象,使问题大大简化,很符合我们日常的思维模式,编写代码也变得相对简单;整个程序由功能各异的对象组成,对象间通过消息通信协调完成一系列的任务。为了能够更好的掌握面向对象思想,再次做一个简单的总结。
 Java把所有事物用类来描述,例如:数据的类,方法的类,这样在另一个需要实现相同功能的程序中可以直接调用,不必浪费时间重写代码,大大提高工作效率;类中可以定义一个事物的属性和功能等信息,功能用若干方法实现,提供构造函数在需要时创建对象;
 例如:class Car{
                      String color=blue;int num=4;
        public void run(){}
        Car(){}
  }
       class CarDemo{
  public static void main(String[] args)
   {Car car=new Demo();}}
               类可以被public,abstract修饰,也可以不加修饰,定义自身是否可被使用或使用方式;
类中的成员可以被public(公有),privated(私有),protect(保护),static(静态),abstract(抽象)修饰;继承性,封装性,多态性,是面向对象最大的优势体现;
 继承性:一个类可以被另一个类继承,Java通过extends关键子实现单继承的方式,使代码实现重用性,程序员写好一个良好的类后,可以做成jar包,做成功能强大的类库,供自己或他人使用,极大提高了编程效率;子类可以完全继承父类的属性和方法,也可以同过覆盖(override),重写父类的方法,以实现自己的功能,当一个类被abstract修饰成抽象类时,必须被子类继承并重写其方法才能被用于创建对象,需要说明的是Java只支持单继承,但提供了一个抽象的借口interface,该接口中的所有方法都是抽象的,必须被子类实现才能使用,而且可以被多实现;
              多态性:多态并不单独存在而是与继承和抽象结合使用,简单说就是是一个事物具有多种功能,写一个例子来解释多态:
 abstract class Animal{
  Abstract void eat();}
 class Cat extends Animal{
      public void eat(){.......}
      public void catchMouse(){.......}
 }
 class Dog extends Animal{
      public void eat(){.......}
      public void kanjia(){.......}
 }
 class Demo{
      Animal a=new Car();
      Animal a1=new Dog();
      (Cat)a.catchMouse():
      (Dog)b.kanjia();}
    通过转型,父类Animal可以使用子类的功能;此时父类的引用指向了自己的子类对象,也可以接收自己子类的对象;必须是类与类之间存在关系,要么继承要么实现,子类覆盖了父类的方法,提高了程序的扩展性,但只能是父类引用访问父类的成员;
                 抽象类的特点:1抽象方法一定在抽象类中,2抽象方法和抽象类都可必须被abstract修饰,抽象类不可以用new创建对象,3如果子类只覆盖了父类的部分抽象方法,该子类还是抽象类,5抽象类中也可有非抽象方法,6抽象类中可以不定义抽象方法,只为了自身不被创建对象;
                接口的特点:固定修饰符(public static final 常量;public abstract 方法)
接口中的成员都是public修饰的;可以被多个类实现,接口与接口之间是继承关系,可以多继承,因为没有方法体,基本功能在类中定义,扩展功能在借口中定义。
 
                 一个类中可以根据需要再定义一个类,这就是内部类,内部内在成员位置上就可以被成员修饰符修饰,如private,static;
               内部类被static修饰后,就具备static属性,只能访问外部内中的静态成员;
              当内部类定义了静态成员,该内部类也必须是静态的;
              当外部类中的静态方法访问内部类时,内部类也必须是静态的;
              内部类定义在局部时不能被成员修饰符修饰,可以直接访问外部类中的成员,因为还持有外部类的引用,但是不能访问他所在的局部中的变量,只能访问被final修饰的局部变量(方法中的类就是局部内部类,内部类不能定义静态成员);

 

 

----------------------- android培训java培训、java学习型技术博客、期待与您交流! ----------------------

详情请查看:http://edu.csdn.net/heima

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值