zoukankan      html  css  js  c++  java
  • 关于抽象

    Java中的抽象类和抽象方法:

    首先聊聊抽象方法:在类中没有方法体的方法叫做抽象方法。

    普通方法:

    public void say(){

      System.out.println("Hello");//方法体中,有必要实现某些功能

    }

    抽象方法:

    public abstract void say();

    可以看出没有方法体,那么这样有什么作用呢,它的意义何在?

    1.为子类提供一个公共的类型

    2.封装子类中重复的内容(成员变量和方法)

    3.定义有抽象方法,子类虽然有不同的实现,但该方法的定义是一致的

    抽象类:

    普通类:class Animal(){

          。。。。。。。

          }

    抽象类:abstract Animal(){

           。。。。。。。

          }

    注意一点:抽象类中可以没有抽象方法(这块不用过多研究,如果没有,那这个类将毫无意义),只要用abstract修饰的类都是抽象类,

    只要类中含有一个抽象方法,那这个类就是抽象类。

    抽象类定义:含有抽象方法的类就叫抽象类

    例子 :多态程序,没抽象类的

    class Person {
      public void f() {
        System.out.println("父类");
      }
    }

    class Students extends Person {
      public void f() {
        System.out.println("学生类");
        }
    }
    class Teacher extends Person {
      public void f() {
        System.out.println("教师类");
      }
    }
    public class Test3 {
    public static void main(String[] args) {
        Person s = new Students();
        Person t = new Teacher();
        s.f();
        t.f();
      }
    }

    抽象类的多态程序:
    abstract class Person {
        public abstract void f();
      }

    class Students extends Person {
        public void f() {
          System.out.println("学生类");
        }
    }
    class Teacher extends Person {
      public void f() {
        System.out.println("教师类");
      }
    }
    public class Test3 {
    public static void main(String[] args) {
        Person s = new Students();
        Person t = new Teacher();
        s.f();
        t.f();
        }
    }
     
    只有方法的定义,没有方法的实现。
  • 相关阅读:
    40+精彩的HTML5实例和教程
    10+不错的设计资源和灵感的网站
    js利用点击事件做一个简单的计算器
    如何在canvas中画出一个太极图
    利用canvas画一个实时时钟
    利用随机数与定时器做一个简单的伪随机抓阄游戏
    IE8模对话框无法返回至主页面的解决方法
    C# String.Format字符串中包含"{" "}"时需注意的问题
    [Struts2应用开发] 统一的登录验证
    Visual Studio 2008 Express中文版 ‘加载此属性页是出错’ 解决方法
  • 原文地址:https://www.cnblogs.com/teitey/p/5969915.html
Copyright © 2011-2022 走看看