类的组合:
- class Animals {
- private void beat() {
- System.out.println("心脏跳动。。。");
- }
- public void breath() {
- beat();
- System.out.println("呼吸中。。。");
- }
- }
- class Dog {
- // 将Animal嵌入到类里面
- private Animals animals;
- public Dog(Animals animals) {
- this.animals = animals;
- }
- // 定义一个自己的breath()方法
- public void breath() {
- // 直接复用Animals提供的方法
- animals.breath();
- }
- public void Run() {
- System.out.println("陆地上奔跑");
- }
- }
- class Bird {
- // 将Animal嵌入到类里面
- private Animals animals;
- public Bird(Animals animals) {
- this.animals = animals;
- }
- // 定义一个自己的breath()方法
- public void breath() {
- // 直接复用Animal提供的方法
- animals.breath();
- }
- // 定义自己的fly方法
- public void fly() {
- System.out.println("天空里面飞翔!");
- }
- }
- public class Combination {
- public static void main(String[] args) {
- Dog dog = new Dog(new Animals());
- dog.breath();
- dog.Run();
- Bird bird = new Bird(new Animals());
- bird.breath();
- bird.fly();
- }
- }
复制代码 类的继承:
- 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 Bird 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();
- Bird bird = new Bird();
- bird.breath();
- bird.fly();
- }
- }
复制代码
以上输出的结果都是一样的,那么那种对系统的开销最小呢??
|
|