zoukankan      html  css  js  c++  java
  • 多肽

    时间:2016-12-08----10:41:00

    抽象类:主要作用----->封装 

        在使用抽象类时需要注意几点:

        1、抽象类不能被实例化(像刚才的动物,实例化是没有任何意义的),实例化的工作应该交由它的子类来完成,它只需要有一个引用即可。

        2、抽象方法必须由子类来进行重写。

        3、如果类中包含抽象方法,该类必须要定义成抽象类,不管是否还包含有其他方法。

        4、抽象类中可以包含具体的方法,当然也可以不包含抽象方法。

        5、子类中的抽象方法不能与父类的抽象方法同名。

        6、abstract不能与final并列修饰同一个类。

        7、abstract 不能与private、static、final或native并列修饰同一个方法。

    对多肽的理解

        多肽的三个含义:1)子类都能以父类的身份出现
                                  2)子类以父类的身份出现,但是做事情时,还是用自己的方式来实现。
                                  3)子类以父类的身份出现时,自己特有的属性和行为将不能被使用。
    (来自百度百科)

     
    实例:
     1 package SecondWeekSixthDay;
     2 //对多肽的学习
     3 
     4 //抽象类
     5 abstract class Animal {
     6     abstract void eat();//抽象方法
     7     }
     8 
     9 //子类
    10 class Cat extends Animal{
    11     public void eat(){/*必须继承父类的抽象方法*/
    12         System.out.println("猫吃鱼");
    13     }
    14     public void catchMouse(){/*子类自身独有的方法*/
    15         System.out.println("抓老鼠");
    16     }
    17 }
    18 
    19 class Dog extends Animal{
    20     public void eat(){
    21         System.out.println("吃骨头");
    22     }
    23     public void catchMouse(){
    24         System.out.println("看家");
    25     }
    26 }
    27 
    28 class Pig extends Animal{
    29     public void eat(){
    30         System.out.println("睡觉");
    31     }
    32      void sleep(){
    33         System.out.println("睡觉");
    34     }
    35 }
    36 
    37 
    38 
    39 /*相当于测试类*/
    40 public class DuoTaiDemo{/*方法体*/
    41     public static void main(String[] args){/*main函数入口*/
    42         
    43         Animal animal=new Cat();/*作用:调用其他类来定义成一个新类*/
    44         animal.eat();/*调用这个类的eat方法*/
    45         //animal.catchMouse();/*因抽象类没有这个方法,因此无法调用*/
    46         //Cat();/*不能使用调用方法。因方法体中不存在Cat方法*/
    47         
    48         Animal animal2=new Dog();
    49         animal2.eat();
    50         
    51         Animal animal3=new Pig();
    52         animal3.eat();
    53     }
    54 
    55 
    56 }
     
     
     
  • 相关阅读:
    DDD 领域驱动设计-谈谈 Repository、IUnitOfWork 和 IDbContext 的实践
    UVA10071 Back to High School Physics
    UVA10071 Back to High School Physics
    UVA10055 Hashmat the Brave Warrior
    UVA10055 Hashmat the Brave Warrior
    UVA458 The Decoder
    UVA458 The Decoder
    HDU2054 A == B ?
    HDU2054 A == B ?
    POJ3414 Pots
  • 原文地址:https://www.cnblogs.com/xuehx/p/6143969.html
Copyright © 2011-2022 走看看