zoukankan      html  css  js  c++  java
  • 类,方法,抽象方法,接口

    类 从定义说是 因为在java中万物皆对象,所以 class 类 是对同一类事物的抽象  例如:狮子,老虎  都是动物  动物就是一个类。

    类是同类型东西的概念,是对现实生活中事物的描述。定义类就是在描述事物,就是在定义属性(变量) 和方法(函数)

    类中可以声明属性,方法,构造器。属性(变量)分为:实例变量,局部变量。

    实例变量:用于声明对象的结构,在创建对象的时候分配内存。在堆中分配 作用于整个类中。有默认值,不初始化也能参与运算。

    局部变量:在栈中分配作用于方法或语句中,必须初始化,有值才能运算

    public class Demo07(){

     public  static void main(String[] args){ 

       Point p1= new Point();

       p1.x=3;

       p1.y=4;

       Point p2 = new Point();

       p2.x=1;

       pw.y=2;

     }

    }

    class Point(){

      int x;

      int y;

    }

    方法中声明的叫局部变量 例如: p1 p2

    把类的衍生类当做基础类做处理的过程叫做“向上造型”(upcasting)其中“cast”(造型)是指根据一个现成的模型创建。

    而“up”(向上)表明继承的方向是从上面来的,即基础类位于顶部而衍生类在下方展开。所以根据基础类进行造型就是一个从上面继承的过程,即“upcasting”

    方法 代表“完成某事的途径”,其决定了一个对象能够接收到的信息。 例如:对象小明  小明在喝水。

    方法:一个算法逻辑功能的封装,一般是完成一个业务功能 如:登陆系统等 简单说 方法是动作

    方法的调用有两种方式:1.对象引用调用2 类名调用(即静态类)

    假设有对象X

    int  x = a.f()

    像这样调用一个方法通常叫做:“向对象发送一条消息”,其中消息是f 对象是a。面向对象的设计通常简单的归纳为 “向对象发送消息”

    抽象方法属于一种不完整的方法,只含有一个声明没有方法主体。语法为 abstract  void x();

    抽象类是将拥有共同方法和属性的对象取出来,提取后设计一个更加通用更加大众化的类。

     设计程序时我们都希望基础类只为自己的衍生类提供接口,也就是说,我们不想其他任何人实际创建基础类的一个对象,而是向上造型以便使用使用他们的接口。

    为了达到这个目的,需要把那个类变成抽象的。

    编译器会阻止创建一个抽象类的对象,只能去继承来使用。

    抽象类主要用来进行类型隐藏。

    不能为抽象类创建一个实例,例如:

    test是一个抽象方法,如果创建其的一个实例就会报错

     如果抽象类中有抽象方法,另一个类继承了这个抽象类就必须实现其抽象方法。

    如果不实现那么这个类也是抽象类,例如:

    test没有实现继承类的抽象方法报错。

    如果test是抽象类,就不会报错。

     抽象类 可以有非抽象的方法 而接口所有的方法都必须是抽象的

    接口中所有方法都必须是抽象方法,不然报错。

     

    接口:规定了可以对一个特定对象发出那些请求,用户操作接口 调用方法而不是直接访问实体对象。这样就保证了数据的隐蔽性,即用户只需调用不需了解方法的实现。

    所以对象的属性一般都是private修饰符,这样数据不能被外部直接看到。保证了数据的安全性

    接口将抽象类的概念更延伸了一步,它完全禁止了所有函数的定义。接口一种非常有效和常用的工具

  • 相关阅读:
    英文社区优文转载和翻译:A Look at Gradient Descent and RMSprop Optimizers
    论文速读:《AN ACTOR-CRITIC ALGORITHM FOR SEQUENCE PREDICTION》
    英文社区优文转载和翻译:NLP vs. NLU —— from Understanding a Language to Its Processing
    Dell XPS13 新安装ubuntu16.04LTS 没有显卡没有声卡解决方案
    QWidget设置边框问题
    qss设置QTableView样式时,对于item项,border和selection_background-color不能放在一起,应该分开写
    QTableView绑定QTableModel单元格内数据居中
    QtCreator运行和调试按键是灰的,将鼠标悬在按键上提示:“The .pro file xx.pro could not be parsed.”
    Qt多线程run函数内访问类的成员变量在Linux系统中被优化的问题
    多线程中实现QUdp通信的方法
  • 原文地址:https://www.cnblogs.com/zjf6666/p/6429443.html
Copyright © 2011-2022 走看看