A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

类的组合:
  1. class Animals {
  2.         private void beat() {
  3.                 System.out.println("心脏跳动。。。");
  4.         }

  5.         public void breath() {
  6.                 beat();
  7.                 System.out.println("呼吸中。。。");
  8.         }
  9. }

  10. class Dog {
  11.         // 将Animal嵌入到类里面
  12.         private Animals animals;

  13.         public Dog(Animals animals) {
  14.                 this.animals = animals;
  15.         }

  16.         // 定义一个自己的breath()方法
  17.         public void breath() {
  18.                 // 直接复用Animals提供的方法
  19.                 animals.breath();
  20.         }

  21.         public void Run() {
  22.                 System.out.println("陆地上奔跑");
  23.         }
  24. }

  25. class Bird {
  26.         // 将Animal嵌入到类里面
  27.         private Animals animals;

  28.         public Bird(Animals animals) {
  29.                 this.animals = animals;
  30.         }

  31.         // 定义一个自己的breath()方法
  32.         public void breath() {
  33.                 // 直接复用Animal提供的方法
  34.                 animals.breath();
  35.         }

  36.         // 定义自己的fly方法
  37.         public void fly() {
  38.                 System.out.println("天空里面飞翔!");
  39.         }
  40. }

  41. public class Combination {
  42.         public static void main(String[] args) {
  43.                 Dog dog = new Dog(new Animals());
  44.                 dog.breath();
  45.                 dog.Run();
  46.                 Bird bird = new Bird(new Animals());
  47.                 bird.breath();
  48.                 bird.fly();
  49.         }
  50. }
复制代码

类的继承:
class Animals {
        private void beat() {
                System.out.println("心脏跳动。。。");
        }

        public void breath() {
                beat();
                System.out.println("呼吸中。。。");
        }
}
class Dog extends Animals {
       
        public void Run() {
                System.out.println("陆地上奔跑");
        }
}
class Bird1 extends Animals{
       
        // 定义自己的fly方法
        public void fly() {
                System.out.println("天空里面飞翔!");
        }
}
public class Inheritance {
        public static void main(String[] args) {
                Dog dog = new Dog();
                dog.breath();
                dog.Run();
                Bird1 bird = new Bird1();
                bird.breath();
                bird.fly();
        }
}

以上输出的结果都是一样的,那么对于实现同样的结果来说,哪个对系统的开销最大呢?

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马