【Java语言】类和对象

ops/2024/10/31 5:25:51/

是用来对一个对象进行描述的,主要描述这个对象哪些属性。

       类需要class进行修饰,一个Java文件中可以存在多个类,但是只能存在一个public类且必须与Java文件名相同。eg:有一个Demo.Java文件,在文件中只能存在public class Demo{},但是可以有多个class …;下面是构建的一个学生类:

类的实例化 

类的实例化就是上面这个图中创建的s这个对象,用类类型创建对象的过程;

  • new 关键字用于创建一个对象的实例.
  • 使用 . 来访问对象中的属性和方法.
  • 同一个类可以创建对个实例.  

       类里面放着成员变量、成员方法、构造方法等 ,都需要关键字进行修饰(public、private、default、protect);

  • 成员变量:描述类的属性;在没有赋值的情况下,它有默认的初值
  1. 整型默认为0,字符串(引用变量)默认null;
  2. 字符型默认"\u0000";
  3. 布尔类型默认flase;
  4. double型默认0.0,float型默认0.0f;
  • 成员方法:描述类的功能
  1. 方法中的创建的变量都局部变量必须都要初始化否则会出现编译错误;
  • 构造方法: 特殊的成员方法
  1. 构造方法必须与类名一致,在创建实例对象是就调用了构造方法,并且在s这个对象中只能调用一次;
  2. 没有返回类型,void也不行;
  3. 参数没有强制要求根据实例对象的需求而实现,如果有参数可以用this调用;eg:this.a = a
  4. 构造方法可以多个同时出现,必须满足参数个数不一样    <==>  方法重载

this引用

       this引用指向当前对象(成员方法运行时调用该成员方法的对象);   eg:创建一个s,用s.调用构造方法则构造方法中的this.age = age中的this.age指的就是s这个实例对象的年龄,可以说this等价于s;

       这样的目的就是万一存在实例对象的成员变量与构造方法的变量相同时,区分更好确定实例对象的成员变量 ;

封装

       面向对象程序的三大类:封装、继承、多态。现在主要讲讲封装,封装就是将数据和操作数的方法进行结合·,隐藏对象的属性和方法。

在Java中,有自带包和自定义包;

       如果使用自带包中的类就需要import语句导入包,可能有时候不同的包中会出现相同的类名,这时就需要详细的写出类名。

       自定义包就是在文件最上方加上一个package语句指定代码在哪个包中,如果没有package语句就可能放在一个默认的包中(src);写包名的时候可以com.+域名+.+包名;创建完成后就可以新建类了;

 在包中使用关键字也需要注意(前面说明关键字的用法)。

static 

       static不能修饰局部变量(方法中的变量) ,能修饰成员变量、成员方法等;被static修饰的成员称为静态成员,静态成员都是类成员,不属于某个具体对象,所以在访问该静态成员时一般通过类名访问,也可以通过对象访问(就是一般不建议)。

静态成员变量

       被static修饰的成员变量被称为静态成员变量;静态成员变量的特点: 

  • 类创建,它也创建;静态成员变量是最先创建定义的,所以在方法中定义静态变量的话,在静态成员变量中找不到事先定义的变量,就会出现编译错误;
  • 静态成员变量是所有对象共享的,所以每个对象引用后都会保存其最终的值,而且它都是存放在方法区;
  • 当类结束时,它也随着类销毁而销毁; 

静态方法 

       被static修饰的成员方法被称为静态方法;静态方法的特点:

  • 在静态方法中不能直接访问非静态成员变量,静态成员都是最先创建的,如果先前访问就会出现变量未定义的问题;
  • 静态方法中不能调用任何非静态方法,因为非静态方法有this参数,在静态方法中调用时候无法传递this引用

代码块

       使用 {} 定义的一段代码称为代码块。代码块分为普通、构造、静态和同步代码块(暂时不说同步)。执行顺序先是静态代码块,然后构造代码块,载然后构造方法

普通代码块

       直接用{}定义的代码块就是普通代码块;

构造代码块

       一般用于初始化实例成员变量,也叫实例代码块; 只有在创建对象的时候才会使用;

静态代码块 

       使用static定义的代码块叫静态代码块; 静态代码块不管调用多少次对象就只能执行一次而且也是静态成员变量创建后就执行。总而言之静态成员都是最先创建的相比其他的代码块;

打印对象

       打印对象可以不用通过成员方法调用,利用toString可以通过对象直接打印。


http://www.ppmy.cn/ops/129368.html

相关文章

活动预告丨CCF开源发展委员会“开源高校行”第二十九期—北京理工大学站

点击蓝字 关注我们 CCF Opensource Development Committee 开源高校行 北京理工大学站 在数字化转型的浪潮中&#xff0c;开源软件人才的培养是信息技术创新发展的重要根基&#xff0c;高校学子作为我国开源生态的源头活水备受重视。10月26日晚18:30-20:05 CCF开源发展委员会“…

苹果开发 IOS 证书生成步骤

前提条件 你手上有一台 Macbook你的苹果账号已被添加到开发人员中 证书创建步骤 打开 XCode 直接生成 p12证书生成后&#xff0c;就可在苹果开发者管理界面中看到你的证书记录登录苹果开发中心&#xff0c;创建 profiles 文件&#xff0c;并下载以上步骤即可&#xff0c;就这…

【Linux】nohup 命令

【Linux】nohup 命令 1. 语法格式2. 实例3. 查找后台进程 nohup 英文全称 no hang up&#xff08;不挂起&#xff09;&#xff0c;用于在系统后台不挂断地运行命令&#xff0c;退出终端不会影响程序的运行。 nohup 命令&#xff0c;在默认情况下&#xff08;非重定向时&#x…

【算力基础】GPU算力计算和其他相关基础(TFLOPS/TOPS/FP32/INT8...)

文章目录 :one: 算力的常见指标:two: 算力计算:three: 常用链接 &#x1f680; 本文主要是聚焦于深度学习领域的 GPU的算力估计&#xff0c;其他类型的硬件设备如CPU可以类比参考。 1️⃣ 算力的常见指标 算力衡量主要与运算速度和精度这两个指标有关。 &#x1f314;速度指…

华为配置BFD状态与接口状态联动实验

组网图形 图1 配置BFD状态与接口状态联动组网图 BFD简介配置注意事项组网需求配置思路操作步骤配置文件 BFD简介 为了减小设备故障对业务的影响&#xff0c;提高网络的可靠性&#xff0c;网络设备需要能够尽快检测到与相邻设备间的通信故障&#xff0c;以便及时采取措施&…

【优选算法】——滑动窗口(下篇)

目录 1、水果成篮 2、找到字符串中所有字母异位词 3、串联所有单词的子串 4、最小覆盖子串 1、水果成篮 你正在探访一家农场&#xff0c;农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示&#xff0c;其中 fruits[i] 是第 i 棵树上的水果 种类 。 你想要尽可能…

SIP 业务举例之 三方通话:邀请第三方加入的信令流程

目录 1. 3-Way Conference - Third Party Is Added 简介 2. RFC5359 的 3-Way Conference - Third Party Is Added 信令流程 3. 3-Way Conference - Third Party Is Added 总结 博主wx:yuanlai45_csdn 博主qq:2777137742 想要 深入学习 5GC IMS 等通信知识(加入 51学通信)…

华为ICT题库-大数据部分

1475、以下哪项组件不属于大数据平台中的组件&#xff1f;&#xff08;云服务考点&#xff09; (A)MapReduce (B)Yarn (C) openStack (D)HDFS 答案&#xff1a;C 解析&#xff1a;组件OpenStack不属于大数据平台中的组件。OpenStack是一个开源的云计算平台&#xff0c;它提供…