ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

有一定基础的JAVA学习笔记_02(面向对象)

2022-02-07 20:02:49  阅读:136  来源: 互联网

标签:02 JAVA 构造方法 Point 对象 面向对象 线程 面向


目录

1、面向过程和面向对象

2、对象和类的概念

3、面向过程的内存分析

4、构造方法

5、垃圾回收机制


1、面向过程和面向对象

  • 面向过程:按步骤解决问题(开车)
  • 面向对象:根据组成部分设计事物(造车)
  • 面向对象具有三大特征:封装性、继承性和多态性
  • 面向过程和面向对象都是解决问题的思维方式,都是代码组织的方式
  • 解决简单问题一般使用面向过程的方式
  • 解决复杂问题时宏观上需要使用面向对象的方式,但微观处理上仍然是面向过程

2、对象和类的概念

  • 类:class
  • 对象:Object,instance(实例)
  • 类是模版,可以根据类的定义来造出对象,一般称对象是类的实例
  • 类有三种常见成员:属性field、方法method、构造器constructor,都可以定义零个或多个

3、面向过程的内存分析

  • 栈的存储特性是“先进后出,后进先出”
  • 栈描述的是方法执行的内存模型,每个方法被调用都会创建一个栈帧
  • 栈是由系统自动分配栈的一个连续的内存空间
  • JVM为每个线程创建一个私有栈,用于存放该线程执行方法的信息,线程间不能共享

  • 堆本质是一个二叉树,是不连续的内存空间,分配灵活但速度慢
  • 堆用于存储创建好的对象和数组(数组也是对象)
  • JVM只有一个堆,被所有线程共享

方法区(静态区)

  • 方法区实际也是堆(但和上文不是一个东西),JVM只有一个方法区,被所有线程共享
  • 方法去用来存放程序中永远不变或唯一的内容,如类信息、静态变量、字符串常量等

4、构造方法

  • 构造方法也叫构造器,是一个创建对象时会自动调用的特殊方法,目的是对象的初始化
  • 构造器的名称应与类的名称一致
  • Java通过new关键字来调用构造器,从而返回该类的实例
  • 构造器虽然有返回值,但是不能定义返回值类型,也不能使用return
  • 如果我们没有定义构造器,则编译器会自动定义一个无参的构造函数
  • 构造方法也可以重载,用于创建参数不同的对象
class Point {
    double x, y;

    //构造器
    public Point(double _x, double _y) {
        x = _x;
        y = _y;  
    }

    //定义的方法
    public double getDistance(Point p) {
        return Math.sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y));
    }
}

public class TestConstructor {
    public static void main(String[] args) {
        Point p = new Point(3.0, 4.0);
        Point origin = new Point(0.0, 0.0);//生成对象
        System.out.println(p.getDistance(origin));
    }
}

5、垃圾回收机制

标签:02,JAVA,构造方法,Point,对象,面向对象,线程,面向
来源: https://blog.csdn.net/yingzhudashu/article/details/122813846

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有