009-了解面向对象


目录
  • 一、面向对象
    • 一、什么是面向对象
    • 二、面向对象优点
    • 三、面向对象实现一个软件的过程
    • 四、面向对象的特征
  • 二、类与对象的概念
    • 一、什么是类
    • 二、什么是对象
    • 三、类与对象的关系
    • 四、创建对象是JVM的变化
  • 三、构造方法
    • 一、构造方法的作用
    • 二、构造方法的语法结构

一、面向对象


一、什么是面向对象

  面向对象就是将现实世界分割成不同的单元,然后每一个单元都实现成对象,然后给一个环境驱动一下,让各个对象之间协作起来形成一个系统;

二、面向对象优点

  耦合度低,扩展力强

三、面向对象实现一个软件的过程

分析( A ) --> 设计( D ) --> 编程( P )

  • OOA:面向对象分析
  • OOD:面向对象设计
  • OOP:面向对象编程

四、面向对象的特征

  • 封装
  • 继承
  • 多态



二、类与对象的概念


一、什么是类

  类实际在现实世界中是不存在的,是一个抽象的概念,类的本质是现实世界当中某些事物具有的共同特征,将这些共同特征提取出来形成的概念就是一个类,相当于一个模板;

  比如说我们定义一个学生的类,此时该类就相当于一个模板,我们就可以通过该类创造出一个个具体的学生对象出来。

  1. 类的组成:类 = 属性 + 方法

  2. 类的定义方式
     [修饰符列表] class 类名 {
       //类体 = 属性 + 方法
       // 属性在代码上以"变量"的形式存在(描述状态)
       // 方法描述动作/行为
     }
     注意:
      修饰符列表可以省略。
      属性对应的是"数据",数据在程序中只能放到变量中也就是说:属性其实就是变量。

// 定义一个学生类public class Student {  //定义类的属性,也就是学生的共同具有的属性 private int age; //年龄 private String name; //学生姓名  //定义类方法,也就是描述学生所具有的共同行为 public void eat() {  System.out.println("学生吃饭"); }}

二、什么是对象

  1. 对象:对象就是实际存在的个体

  2. 对象的创建
    类名 变量名 = new 类名();

// 通过刚刚在上面定义的学生类,我们就可以new出一个学生对象了。import com.domain.User;//如果学生类和该类不在同一个文件中,记得导入学生类所在的包public class TestStudent {  public static void main(String[] args) {  Student stu = new Student(); }} 

三、类与对象的关系

  在Java语言中,想要得要"对象",就必须先定义"类","对象"是通过"类"这个模板创造出来的;

  • 类:不存在的,人类总结出来的一个模板(这个模板描述的共同特征);
  • 对象:实际存在的个体;
  • 实例:对象的另外一个名字;
  • 实例化:通过类这个模板创建对象的过程;
  • 抽象:多个对象具有共同特征,进行思考总结抽取共同特征的过程;
    • 类 --【实例化】--> 对象(实例)
    • 对象 --【抽象】--> 类

四、创建对象是JVM的变化

  1. 实例:Student stu = new Student();

  2. 凡是通过 new 运算符创建出来的对象,都是存储在堆内存中,new 运算符的作用就是在堆内存中开辟一块空间,来存储即将创建的对象,如下图:
    在这里插入图片描述

  3. 接下里再通过 = 号将创建出来的对象的对象地址 0x1234 赋给 stu ;

  4. 接下来我们就可以通过 stu 来操作刚刚创建的对象中的属性,方法了;

  5. 注意事项
      * 在创建对象之后,都会在无手动赋值的前提下,都会默认给对象的属性赋初值,赋值的结果有属性的数据类型决定;
      * 每执行一个 new 运算符就会创建一个对象,每一个对象在堆内存中的地址都是不一样的;
      * 像 stu 这种保存了对象内存地址的变量,有一个特殊的名字:引用;



三、构造方法



一、构造方法的作用

  构造方法是一个比较特殊的方法,通过构造方法可以完成对象的创建,以及实例变量的初始化,也就是说,构造方法是用来创建对象,并且同时给对象的属性赋值,实际上我们在通过 new 来创建对象的时候,就是利用类里面的构造方法来创建的,;
  注:
   * 当一个类没有提供构造方法,系统会默认提供一个无参数的构造方法,这个构造方法被称为缺省构造器,这也是我们没有写构造方法还可以用 new 创建对象的原因;
   * 当一个类定义了有参构造方法时,系统将不再默认提供无参构造方法,此时无参构造方法需要自定义,不然会报一下异常;


二、构造方法的语法结构

  [修饰符列表] 构造方法名 (形式参数列表){
    构造方法体,通常在构造方法体当中给属性赋值,完成属性的初始化。
  }

  注:
   * 构造方法名和类名必需一致
   * 构造方法不需要指定返回值类型,也不能写void,写上void就表示普通方法,就不是构造方法了;

// 定义一个学生类public class Student {  //定义类的属性,也就是学生的共同具有的属性 private int age; //年龄 private String name; //学生姓名 public Student() {}//定义无参构造方法 public Student(int stuAge, String stuName) {//定义有参构造方法,可以给属性赋值; 	age = stuAge; 	name = stuName; }}
// 通过刚刚在上面定义的学生类,我们就可以new出一个学生对象了。import com.domain.User;//如果学生类和该类不在同一个文件中,记得导入学生类所在的包public class TestStudent {  public static void main(String[] args) {  Student stu1 = new Student();//通过无参构造方法创建对象;  Student stu2 = new Student(12,"小明");//通过有参构造方法创建对象,此时该学生对象的名字是小明,年龄12岁; } 




相关链接:

链接: 008-Java中方法的使用(进阶篇).
链接: 007-Java中方法的使用(基础篇).
链接: 006-Java的访问权限控制符和包导入机制.









原文转载:http://www.shaoqun.com/a/736777.html

跨境电商:https://www.ikjzd.com/

黄远:https://www.ikjzd.com/w/1785

sonar:https://www.ikjzd.com/w/215


目录一、面向对象一、什么是面向对象二、面向对象优点三、面向对象实现一个软件的过程四、面向对象的特征二、类与对象的概念一、什么是类二、什么是对象三、类与对象的关系四、创建对象是JVM的变化三、构造方法一、构造方法的作用二、构造方法的语法结构一、面向对象一、什么是面向对象  面向对象就是将现实世界分割成不同的单元,然后每一个单元都实现成对象,然后给一个环境驱动一下,让各个对象之间协作起来形成一个系统;
dmm杂志:https://www.ikjzd.com/w/2026
stylenanda官网:https://www.ikjzd.com/w/1675.html
usps国际快递查询:https://www.ikjzd.com/w/513
多人p交换口述_摸50岁妇女下面叫爽:http://lady.shaoqun.com/a/273837.html
全世界不止中国人穿秋裤!外国人在速卖通疯狂囤货:https://www.ikjzd.com/home/12082
警惕!细数CPC的那些坑!:https://www.ikjzd.com/home/95808
Admin Saya adalah individu yang selalu berusaha untuk menjaga keseimbangan antara pekerjaan dan hobi saya. Saya percaya bahwa mengembangkan keterampilan dalam berbagai bidang akan memberikan saya perspektif yang lebih luas dan kemampuan untuk menyelesaikan masalah dengan cara yang lebih kreatif.

Plaas 'n opmerking for "009-了解面向对象 "