zoukankan      html  css  js  c++  java
  • 面向抽象/接口编程以及继承

    继承extend:

    子类继承父类用extend,在重写父类方法时,不能降低方法的访问权限

    子类不能将父类的static方法写成实例方法,也不能将实例方法写成static方法

    当子类重写父类的成员变量和方法时,我们可以用super来访问父类被隐藏的变量和方法,也可以用super来调用父类的构造方法

    final关键字,final类不能被继承,final方法不能被重写,final变量不能修改,即常量

    抽象abstract:

    抽象类,抽象方法只能声明,不能实现,抽象类可以有抽象方法,也可以有非抽象方法,抽象类不能直接new来创建对象

    抽象类的继承:如果有非抽象类来继承抽象类,那么子类必须重写所有的抽象方法,如果是抽象类继承抽象类,那么子类可以继承抽象类的抽象方法

    package com.imooc;
    
    abstract class Animal {
        abstract void eat();
        void printname()
        {
            System.out.println("dog");
        }
    }
    Animal
    package com.imooc;
    
    public class Dog extends Animal {
    
        @Override
        void eat() {
            // TODO Auto-generated method stub
            System.out.println("dog eat meat");
        }
        
    }
    Dog

    接口interface:

    接口里只有常量,没有变量,只有抽象方法,没有普通方法,常量都是static,常量和方法权限一定是public;

    如果一个类实现了一个接口,那么子类必须重写所有方法(因为全部都是抽象方法,而且访问权限都应该是public)

    package com.imooc;
    
    interface Animal{
        final int age=10;
        public abstract void eat();
    }
    Animal
    package com.imooc;
    
    public class Dog implements Animal {
    
        @Override
        public void eat() {
            // TODO Auto-generated method stub
            System.out.printf("dog eat meat,dog age is %d
    ",age);
        }
        
    }
    Dog

    抽象和接口都是为了让编写者更容易维护,不必拘泥于细节,只需要关心具体操作

  • 相关阅读:
    chrome 等浏览器不支持本地ajax请求的问题
    3:1 类型转换
    WebService-WSDL简单介绍
    WebService—CXF整合Spring实现接口发布和调用过程
    WebService—CXF—实现接口发布和客户端调用
    WebService—规范介绍和几种实现WebService的框架介绍
    (转)c# 扩展方法
    (转)C# Textbox的ImeMode取值对中文输入法的影响
    (转)Nandflash读写
    (转+整理)Nandflash存储
  • 原文地址:https://www.cnblogs.com/acjiumeng/p/8016943.html
Copyright © 2011-2022 走看看