zoukankan      html  css  js  c++  java
  • Java基础学习之(2)--面向对象1

    面向对象和面向过程的区别:

    面向过程:考虑第一步干嘛、第二步干嘛……

    面向对象:

    1、作为一个问题来说,有哪些类和对象;

    2、每种类和对象有哪些属性和方法;

    3、类和类之间具备什么关系;

    一、类和对象

    类是一类事物的一个抽象;

    对象是类的一个具体实例;

    类与类之间的关系

    1、关联关系(弱)

    2、继承关系(强)

    A是一种B ,则A继承B

    3、聚合关系(强)

    A是B的一部分,则AB之间存在聚合关系

    聚合关系又分为聚集和组合;

    聚集是比较松的关系,组合是比不可分的关系;

    3、实现关系(父类和子类之间)

    4、多态

     二、面向对象设计方法

    当要分析一个类时,首先找名词,但也要区别该名词是属性还是类。

    图中类:机票、旅行社、客户、账户、目录

    方法:机票(作废、显示航班时间)

     ”我要去新疆“话中的类:人、车。

    方法:人(驾驶、吃、住),车(开动,启动)。

    为什么要用对象?

    现在有面向组件。

     三、Java面向对象基本概念--引用

    基本数据类型占1块内存,引用类型占2块内存;

    所有的引用类型全是指针;

    为什么对象是位于堆内存中,因为堆是用来动态分配内存的,只有在运行过程中才会new一个新的对象放在堆中,因为只有在运行期间才知道这个对象所需要的内存有多大。而每个类的方法只有一份,只有在调用方法的过程中才会占用内存。

    当这个对象不用了,则使用垃圾回收机制将对象回收回去。

     

     c1,c2是局部变量,存在于stack栈中;new 出来的内容都存在与堆中,new出来的对象空间中存在该类的所有成员变量

      

     三、构造方法

    构造一个新的对象所使用的方法,和类同名,没有类型、没有返回值。

     

    tom指向***,***存在于栈中,即一个逻辑地址,该逻辑地址指向堆内存中new出来的空间。

    在new的过程中,会调用构造方法,同时栈中存在两个变量n=1,i=25。当new完后,n,i的值复制给了堆中的id和age,同时构造方法使用完成,栈中的两个变量n=1,i=25自动消失。

    若没有定义构造方法,系统会默认添加一个空的构造方法;但是若自己定义了一个带参数的构造方法,系统不再自动添加默认构造方法,则Person p = new Person();会报错。

     

     构造方法经常遇到的问题:

    和类同名,没有类型、没有返回值。

    四、地址解析

      

     

     博客引用马士兵Java基础教程中的PPT,如有侵权,请联系删除,谢谢!

  • 相关阅读:
    logstash 抓取IIS日志文件写入Elasticsearch
    logstash filter geoip 转换IP为详细地址等内容。
    windows2012 iis配置
    REST接口规范
    windows10后台启动redis
    Docsify生成文档网站
    IDEA类和方法注释自动生成(2019-08-31 21:47写)
    键盘注释
    使用git上传项目解决码云文件次数上传限制(2019-09-25 12:49编写)
    Electron之Hello world(一)
  • 原文地址:https://www.cnblogs.com/Harriett-Lin/p/12622525.html
Copyright © 2011-2022 走看看