java面向对象——类与对象 痛定思痛。 2022-05-09 13:00 382阅读 0赞 #### 1. 类的定义 #### 类是某一批对象的抽象,可以把抽象理解成某种概念。 类名需要每个单词的首字母大写 类的定义包含:构造方法(构造器)、成员变量、成员方法。类里个成员之间的定义顺序没有任何影响,各成员之间可以相互调用,但static修饰的成员不能访问没有static修饰的成员。 [修饰符] class 类名称{ //修饰符:private、protected、public、final、abstract 零到多个构造器定义。。。 零到多个成员变量。。。 零到多个方法。。。 } #### 2. 对象的定义 #### 创建对象的根本途径是构造方法(构造器),对象只有在实例化之后才能被使用,通过new关键字来调用某个类的构造器即可创建这个类的实例。当new一个对象时就会在内存空间中的堆区申请一片区域,用于存放于该对象有关的成员变量信息,这个过程叫做对象的创建/对象的构造/类的实例化。 【static】修饰的方法和属性,既可以通过类来调用,也可以通过实例来调用;没有使用static修饰的普通方法和属性,则只可通过实例来调用。 对象的定义在主方法中 类名 对象名 = new 类名(); Person p; //先定义一个Person类的引用(p的含义等于指针) p = new Person【(); //用new关键字调用Person类的构造器,创建一个Person对象。 //后将创建的Person对象的地址给P。 p.name = "liubin"; //调用p的name属性,直接为该属性赋值 p.say("java语言很简单,学习很容易"); //调用p的say方法,声明say方法时定义了一个形参。 #### 3. 对象、引用和指针 #### Person p = new Person(); //创建了一个Person对象,一个p变量 类也是一种引用数据类型,因此person类型的引用变量p里存放的仅仅是一个引用,指向实际的person对象。 p被存放在栈内存中,用于记录【实例变量】在堆区中的内存地址信息。而真正的person对象属性数据则存放在堆内存中。以后使用该变量就可以代表记录的对象。 注意: 1. 引用型的变量与C语言里的指针很像,他们都是存储一个地址值,通过这个地址来引用到实际对象,实际上,java里的引用就是C的指针,只是java语言把这个指针封装起来,避免开发者进行繁琐的指针操作。 2. 当一个对象被创建成功之后,这个对象将保存在堆内存中,java程序不允许直接访问堆内存中的对象,只能通过该对象的引用操作该对象,也就是说,不管是数组,还是对象,都只能通过引用来访问他们。 3. 堆内存里的对象可以有多个引用,即多个引用变量指向同一个对象。 4. 如果堆内存中的对象没有任何变量指向该对象,那么程序将无法再访问该对象,这个对象也就变成了垃圾,java的垃圾回收机制将回收该对象,释放该对象所占的内存区。 因此,如果希望通知垃圾回收机制回收某个对象,只需切断该对象的所有引用变量和它之间的关系即可。也就是把这些引用变量赋值为null。 #### 4. 对象的this引用 #### this关键字总是指向调用该方法的对象,根据this出现位置的不同,this作为对象的默认引用有两种情形。 构造器中引用该构造器正在初始化的对象。 在方法中引用调用该方法的对象。 【static】:如果在static修饰的方法中使用this关键字,则这个关键字就无法指向合适的对象。所以static修饰的方法中不能使用this引用。 public Person grow(){ age++; return this; } public static void main(String[] args){ Person p = new Person(); p.show().show().show(); //即连续调用了三次grow()方法 } #### 5. 对象创建的过程 #### 一、单个对象创建的过程 1. main()方法是程序的入口,当创建对象时没有指定成员变量的初始值,则采用默认的初始化方式,当指定初始值时,则采用指定的数值进行初始化。 2. 执行构造块可以修改成员变量的数值。 3. 执行构造方法体可以再次更改成员变量的数值。 4. 此时对象创建完毕,继续执行后续的代码。 二、子类对象创建的过程 1. 首先加载父类的字节码文件,执行父类的静态语句块。 2. 再加载子类的字节码文件,执行子类的静态语句块。 3. 当创建子类对象时,需先构造子类对象中包含的父类对象,则执行父类的构造块和父类的构造方法体。 4. 执行子类的构造块和子类的构造方法体。 5. 此时子类对象构造完毕,继续执行后续的代码。
相关 面向对象编程:Java类与对象理解 面向对象编程(Object-Oriented Programming,简称OOP)是现代编程的一种主要范式。在Java中,类和对象是两个关键概念。 1. Java类: 一时失言乱红尘/ 2024年09月15日 19:06/ 0 赞/ 18 阅读
相关 Java面向对象编程:类与对象的理解 在Java中,面向对象编程(Object-Oriented Programming, OOP)的核心是"类"和"对象"。 1. 类(Class): - 是一种模板或者蓝 刺骨的言语ヽ痛彻心扉/ 2024年09月12日 00:27/ 0 赞/ 14 阅读
相关 Java面向对象【类和对象】 目录 前言 什么是面向对象? 面向对象 就是一种 编程思想(开发者在编写程序、分析问题域的时候采用的一种思维方式),其本身 与编程语言无关 。 ---------- 你的名字/ 2024年03月31日 16:22/ 0 赞/ 67 阅读
相关 面向对象与面向过程、类和对象 面向过程 代码量大 不易维护 面向对象 可拓展性强 维护成本低 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shado 今天药忘吃喽~/ 2023年01月05日 12:57/ 0 赞/ 241 阅读
相关 java重点——面向对象--类与对象、抽象、封装 1、面向对象的编程思想 1.1、面向过程的编程思想 面向过程的编程思想,就是以流程(过程)为单位,更注重最后功能的实现。 缺点: 1、 代码的耦合性(关联性) 心已赠人/ 2022年12月01日 11:57/ 0 赞/ 385 阅读
相关 JAVA面向对象(概念,类与对象,封装) 理解什么是面向对象之前先理解一下什么是面向过程。 面向过程 过程就是一件事情的先后经过;从什么开始到什么介绍,有一个时间上的先后顺序。 程序过程就体现在代码执行的先后 缺乏、安全感/ 2022年05月17日 21:20/ 0 赞/ 377 阅读
相关 java面向对象——类与对象 1. 类的定义 类是某一批对象的抽象,可以把抽象理解成某种概念。 类名需要每个单词的首字母大写 类的定义包含:构造方法(构造器)、成员变量、成员方法。类里个成员之间的 痛定思痛。/ 2022年05月09日 13:00/ 0 赞/ 383 阅读
相关 类与面向对象 1. 三个重要特性:封装继承多态。 2. 什么叫面向对象:人把大象装进冰箱。 3. 一个类,内部包含什么:代码块,属性,方法,内部类;设计类其实就是设计类内部的属性和方法 快来打我*/ 2022年03月26日 15:44/ 0 赞/ 375 阅读
相关 Java面向对象-类与对象 类的定义 下面看实例 类的创建和使用 看下面实例 我们在com.java.chap03.sec01包下新建一个Person类 `package` `com.java. 淩亂°似流年/ 2022年03月16日 07:14/ 0 赞/ 420 阅读
还没有评论,来说两句吧...