zoukankan      html  css  js  c++  java
  • 类与对象

    一、抽象数据类型
        用一堆不同类型的数据来描述的一个事务。
    二、类
        1.类与对象的关系
          什么是类?
           我们把有共同特征和共同行为的事务归纳为一种类型。同时
          用各种类型的变量来描述特征,共同的行为用方法来描述。
          类是抽象的,是没有具体实例的,只是一种对象的模板,
          什么是对象?
           类的实例化,具体个体。
       2.面向对象编程--面向过程编程 
          在程序中使用的数据,比如具体一个人的姓名,年龄,性别,
              行为等,分散着使用,没有逻辑性,比较杂乱。把这些要
          使用的数据封装到一个类型的对象上,我们想使用数
          据,直接使用对象即可。
      3.类的定义和对象的创建
        public class 类名{
          属性--共同特征
          方法--共同行为
        }
        类名 变量 = new 构造方法();

       4.引用类型变量(与八大基本数据类型的变量)
        引用类型变量里存的是对象的地址信息
        变量之间的赋值是址传递
        八大基本数据类型存的是值。
        变量之间的赋值是值传递

      5.jvm的内存管理机制
        三大主区
          方法区:负责加载类的信息(.class文件)
          堆:java对象是在堆中分配内存,类中成员变量在堆中分配内存空间,

           这些内存空间称做该对象的实体或对象的变量。

          栈:对象的引用是在栈中分配内存
          这个空间叫栈帧,当方法执行完毕,栈帧消失,
          空间得到释放。

       


     
      6.方法的定义
        修饰词 返回值类型 方法名(形参){
        方法体
        }
      7.方法的重载:
        在一个类中,方法名相同,参数的类型列表不同(类型从左到右的顺序)
        不需要考虑返回值和修饰词
          public void sum(int a){}
            方法签名:sum int
          protected int sum(int b,int b){}
            方法签名:sum int int
      8.构造方法,是特殊的方法,没有返回值这个位置,方法名和类名相同
        作用:给对象的属性初始化,对象的实例化是调用new关键字来完成的
        new 构造方法;
        能否重载:能
        系统给类默认提供一个无参构造方法,如果手动提供后,系统
        就不在提供了。
      9.关键字this
        this在方法定义期间是没有意义的,规定模板,确定逻辑结构,
        当程序运行起来后,this是指向对象的。

        public Person(String name){
          this.name = name;
        }
      另外一种用法:this(有参传参),只能在某一个构造方法中使用,并且
        只能放在首行首句,表示调用本类中其他的构造器
        public Person(int a){
          this.a = a;
        }
        public Person(int a,int b){
          this(a);
          this.b = b;
        }

      10. null和NullPointException
        null:引用类型的默认值,
        String a = null;---说明空间a里面没有地址信息,
          int length = a.length();--相当于null.length();
        如果有这样类似的代码,就会出现空指针异常(程序运行时,会报)

  • 相关阅读:
    服务器时钟同步
    vue父组件向子组件传递数值 props
    sql 语句in 使用占位符
    vagrant 打包box 快速部署统一开发环境
    Memcache安装使用 linux系统
    centos 7 搭建lnmp环境搭建 yum 源安装
    vagrant搭建lnmp 环境(环境contos7+php72w+mariaDB10.2)
    linux定时任务 Cron Crontab命令
    vue使用el-upload 跨域上传文件跳坑小记
    vue key得理解
  • 原文地址:https://www.cnblogs.com/xiaozelulu/p/8710895.html
Copyright © 2011-2022 走看看