黑马程序员--------------对象的实例化思考

2024-05-28 01:18

本文主要是介绍黑马程序员--------------对象的实例化思考,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 

对象是类的实例,类是对象的统称,一个类有一个或者多个对象 类 对象=new 类();给类创建一个对象 对象.类属性=赋值;对对象的属性进行修改 对象.类方法();使用类对象的功能 封装 private只能在本类中访问,可以再该类中设置修改变量的方法和取出方法,既get/set方法,需要对外开放的get/set方法(public) 注意:所有的赋值方法写成set属性名,所有的取值方法写成get属性名(人为规定的,普遍公认的,提高代码阅读性) public:公共访问权限 private:私有的访问权限 (访问权限的修饰符,*通常*在最前面) 被private修饰的成员函数(成员方法)也不能被外界访问,必须在本类中访问(不会报错。但是该方法失去意义了) 匿名对象:没有名字; 注意事项:单独调用时。只能使用一次,再创造新对象时,与前面的对象无关 当作为参数传递时,可以使用匿名对象(参照数组)(是指不需要使用它,只需要使用它作为传递作用,如下: fockLond(new classes()); public static void fockLond(classes c){ System.out.println(c.fockLond); } 在该例中,new classes()匿名对象只是传递了参数fockLond到对象c中,它并没有直接指向fockLond对应的属性,它与c指向同一个参数,起传递的作用) (匿名对象主要可以用来测试调用的类中的一些初始化问题,看创建对象后的数据初始化的输出结果是什么) 构造函数(构造器):在创建一个类的实例时,调用的方法即构造方法。构造方法是用来构造实例对象的。 特点:如果我们没有手动给出构造方法,则java给我们提供一个无参的构造方法,(例如Person p=new Person();后面的Person()就是java提供的创建对象的方法) 当手动给出构造函数,java就不再给我们提供构造函数了 一般函数:public 返回值类型 函数名(参数类型 参数名1,参数类型 参数名2.。。){逻辑代码} 构造函数:有参构造方法:public 函数名(与类名相同,不分大小驼峰式,与类名一致)(){逻辑代码} 无参构造方法:public 函数名(与类名相同,不分大小驼峰式,与类名一致)(参数类型 参数名1,参数类型 参数名2.。。){逻辑代码} 可以用重载同时设置有参无参构造函数; 有参构造方法在创建实例对象时,直接为成员变量赋值; 为属性赋值: 1、使用对应的gs(getters与setters) 2、直接在 this关键字:this代表当前对象的引用 this。属性名访问的是成员变量 属性名:就近原则,先访问局部变量,在 this的另外用法 直接使用“类名()”无法调用构造函数 在构造函数中可以通过this(参数)来调用其他重载的构造函数 this调用的构造函数必须放在第一行 static关键字: 静态关键字 当使用static关键字修饰之后,这个属性就会被所有实例对象共享 使用static关键字修饰后,一次修改,就会影响所有实例; 使用static关键字修饰后,可以使用类名直接访问该属性/方法,不需要使用实例对象,但是可以使用实例对象访问或者调用 使用static关键字修饰后,该属性因为被共享,所以一般不再使用private关键字修饰,同样也不再有gs; 一般情况下,使用static关键字修饰后的属性均为常量,与final共同使用 成员变量和成员方法都可以使用static修饰; 代码块:用{}划定范围的代码区域: 变量作用域控制,影响变量的生命周期 局部代码块,定义在方法中; 构造代码块,定义在类中。当我运行一个新的实例就会运行一遍。 对象实例化顺序: 1、构造方法(不执行语句,只是表明我要创建实例对象) 2、属性默认初始化 3、静态显示初始化>静态代码块 根据定义的先后顺序决定,一般静态构造代码块写在属性后边。所以一般认为静态显示初始化在静态构造代码块之前。 4、显示初始化>构造代码块: 根据定义的先后顺序决定,一般构造代码块写在属性后边。所以一般认为显示初始化在构造代码块之前。 5、构造方法(构造方法的内容) 总体顺序前提:先静态(优于对象存在的),后非静态 注意: 构造方法在每次创建爱你对象时都执行 构造代码块在每次创建时都执行 静态构造代码块只在第一次创建对象时执行 通常使用代码块来初始化一些属性。做一些系统的准备工作。 抛弃静态不考虑: 1、默认初始化 2、显示初始化 3、构造代码块 4、构造方法

这篇关于黑马程序员--------------对象的实例化思考的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1009135

相关文章

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

实例:如何统计当前主机的连接状态和连接数

统计当前主机的连接状态和连接数 在 Linux 中,可使用 ss 命令来查看主机的网络连接状态。以下是统计当前主机连接状态和连接主机数量的具体操作。 1. 统计当前主机的连接状态 使用 ss 命令结合 grep、cut、sort 和 uniq 命令来统计当前主机的 TCP 连接状态。 ss -nta | grep -v '^State' | cut -d " " -f 1 | sort |

Java第二阶段---09类和对象---第三节 构造方法

第三节 构造方法 1.概念 构造方法是一种特殊的方法,主要用于创建对象以及完成对象的属性初始化操作。构造方法不能被对象调用。 2.语法 //[]中内容可有可无 访问修饰符 类名([参数列表]){ } 3.示例 public class Car {     //车特征(属性)     public String name;//车名   可以直接拿来用 说明它有初始值     pu

Java Websocket实例【服务端与客户端实现全双工通讯】

Java Websocket实例【服务端与客户端实现全双工通讯】 现很多网站为了实现即时通讯,所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发 出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request 的模式带来很明显的缺点 – 浏 览器需要不断的向服务器发出请求,然而HTTP

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群

828华为云征文|华为云Flexus X实例docker部署rancher并构建k8s集群 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧! 什么是华为云Flexus X实例 华为云Flexus X实例云服务是新一代开箱即用、体

HTML5自定义属性对象Dataset

原文转自HTML5自定义属性对象Dataset简介 一、html5 自定义属性介绍 之前翻译的“你必须知道的28个HTML5特征、窍门和技术”一文中对于HTML5中自定义合法属性data-已经做过些介绍,就是在HTML5中我们可以使用data-前缀设置我们需要的自定义属性,来进行一些数据的存放,例如我们要在一个文字按钮上存放相对应的id: <a href="javascript:" d

PHP7扩展开发之对象方式使用lib库

前言 上一篇文章,我们使用的是函数方式调用lib库。这篇文章我们将使用对象的方式调用lib库。调用代码如下: <?php $hello = new hello(); $result = $hello->get(); var_dump($result); ?> 我们将在扩展中实现hello类。hello类中将依赖lib库。 代码 基础代码 这个扩展,我们将在say扩展上增加相关代码。sa

hibernate修改数据库已有的对象【简化操作】

陈科肇 直接上代码: /*** 更新新的数据并并未修改旧的数据* @param oldEntity 数据库存在的实体* @param newEntity 更改后的实体* @throws IllegalAccessException * @throws IllegalArgumentException */public void updateNew(T oldEntity,T newEntity