首页 > 其他分享 >面向对象&构造方法总结

面向对象&构造方法总结

时间:2023-12-28 20:45:45浏览次数:20  
标签:总结 变量 构造方法 对象 修饰符 面向对象 方法 类名

总结

面向对象-类和对象

面向对象概念

就是一种编程思想,是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

什么是类?
类是具备某些共同特征的实体的集合,是对所具有相同特征实体的抽象, 例如人类、车类、星球类,动物类, 猪类等。
什么是对象?
对象是类的实例,简单的认为对象就是类中具体的个体。

对象划分为两个部分,即动态部分(方法)与静态部分(成员变量)。
静态部分:顾名思义就是不能动的部分,这个部分被称为“属性”,如一个人,它包括高矮、胖瘦、性别、年龄等属性——成员变量。
动态部分:人可以哭泣、微笑、说话、行走,这些是这个人具备的行为(动态部分)——方法。

设计类要求
1.类名,大驼峰,见名知意,不能以jdk中存在的类命名
2.成员变量名和方法名,小驼峰,见名知意
3.在类名、方法名、成员变量名上面写文档注释

修饰符概念
对Java当中的,类,变量,方法,构造方法等等.....进行修饰,赋予被修饰内容特殊意义。

类修饰符

public(访问控制符): 将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类。
abstract:将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现。
final:将一个类申明为最终(即非继承类),表示他不能被其他类继承。
默认不写:默认的修饰符,只有在相同包中的对象才能使用这样的类。
3.2.2.2 成员变量修饰符
public(公共访问控制符):指定该变量为公共的,他可以被任何对象的方法访问。
private(私有访问控制符):指定该变量只允许自己的类的方法访问,其他任何类(包括子类)中的方法均不能访问。
protected(保护访问控制符):指定该变量可以别被自己的类和子类访问。在子类中可以覆盖此变量。
默认不写 :在同一个包中的类可以访问,其他包中的类不能访问。
final:最终修饰符,指定此变量的值不能变。
static(静态修饰符):指定变量被所有对象共享,即所有实例都可以使用该变量。变量属于这个类。
transient(过度修饰符):指定该变量是系统保留,暂无特别作用的临时性变量。
volatile:指定该变量可以同时被几个线程控制和修改。

方法修饰符

public(公共控制符: 指定此方法可以被自己和其他的类访问
private(私有控制符):指定此方法只能有自己类等方法访问,其他的类不能访问(包括子类)
protected(保护访问控制符):指定该方法可以被它的类和子类进行访问。
final:指定该方法不能被重载。
static:指定不需要实例化就可以激活的一个方法。
synchronize:同步修饰符,在多个线程中,该修饰符用于在运行前,对他所属的方法加锁,以防止其他线程的访问,运行结束后解锁。
native:本地修饰符。指定此方法的方法体是用其他语言在程序外部编写的

测试类的写法:
1. 创建对象
2. 给对象成员变量赋值
3. 打印:对象取值
4. 对象调用方法

构造方法

概念:就是一个类中的新结构,是类的成员。

  1. 构造方法的结构和普通方法类似,但是和普通方法完全不同两个代码块;
  2. 构造方法也是方法,意味着使用了构造方法,方法会执行,也能完成功能
  3. 构造方法就是一个代码块【就是一个结构 ,构造方法和 字段 方法一样都是一个类中的成员之一】
  4. 构造方法也该存在于类的结构体中

构造方法特点

  1. 每一个类中都至少有一个构造方法;
  2. 如果没有看到(显示的),那么存在一个隐式的无参数的构造方法;
  3. 如果一个类中有显示的构造方法,那么隐式的无参的构造方法就不存在了;

构造方法的作用

作用是:在创建对象的时候,直接给对象成员变量赋值,可以简化代码
注意:
1.只能在创建的时候赋值,不能给已经创建的对象赋值。
2.构造方法一旦通过 new调用,都表示在堆中创建新对象,只要看到new,都表示在堆中创建新对象。

构造方法语法

构造方法声明语法:

1.	构造方法的名字和类名完全一致(包括大小写完全一致)。
2.	没有返回值类型(void也不行)。	 
3. 	构造方法方法体不能返回任何的值(即不能在方法体中return 值)。
4. 	其他的和普通方法类似 ,可以有修饰符(public、protected、private、默认),可以有形参列表。
5.	构造方法必须有方法体。
6.	构造方法不能有任何非访问性质的修饰符修饰,例如 static、final、synchronized、abstract等都不能修饰构造方法。

构造方法使用语法:

new 类名();// 调用无参构造
new 类名(...);// 调用有参构造

设计类语法:

public class 类名 {
小驼峰成员变量 (字段); 
修饰符 Xxx(...){// 构造方法大驼峰类名
	构造方法的方法体
};
修饰符 xxxXxx(...){// 普通方法小驼峰
普通方法 体 
}
}

构造方法注意事项

  1. 普通方法不要和类名一致,行业默认规则。
  2. 普通方法(Method)和构造方法(Constructor)是不同的两种结构。
    2.1 普通方法的调用 : 3种
    2.1.1 类名.方法名(…); --有static修饰的
    2.1.2 对象名.方法名(…); --没有static修饰的
    2.1.3 方法名(…); --同一个类里面都有static或都没有static修饰
    2.2 构造方法的调用 :new 类名(...);(目前为止)

构造方法小结

给对象成员变量赋值方式:

  • 对象名.成员变量 = 值;// 值和成员变量数据类型一致

  • 有参构造: new 类名(...);// 实参和成员变量数据类型一致
    对象取值方式:对象名.成员变量
    注意:
    有参构造不能给已经创建的对象赋值,如果必须给已经创建的对象重新赋值,只能通过:对象名.成员变量 = 值;的方式实现。

有参构造和无参构造使用场景

当对象需要赋值的成员变量 很多 的时候,用:无参构造创建对象,然后用 对象名.成员变量 = 值; 方式赋值。
当对象需要赋值的成员变量 少 的时候,用:有参构造创建对象直接赋值即可。

匿名对象

概念:匿名对象,就是创建的时候没有使用变量接收保存一个对象。
但是匿名对象本质也是一个对象(具体的值)

匿名对象作用:可以节约资源,因为GC【垃圾回收器】会不定时回收匿名对象。

匿名对象使用场景:匿名对象一般用在:只需要使用一次的情况(如:调用一次非static修饰的普通方法、作为方法实参使用)

标签:总结,变量,构造方法,对象,修饰符,面向对象,方法,类名
From: https://www.cnblogs.com/JunYuanStudy/p/17933526.html

相关文章

  • 方法&Arrays_API总结
    总结方法方法的组成:修饰符+返回值类型+方法名+形参列表+方法体方法签名:方法名+形参列表调用方法:方法有static修饰,调用是:类名.方法名();调用方法使用参数是实际参数(必须是具体的数据)在java里面用static修饰的方法叫做:类方法或者静态方法形参和实参声明......
  • 数组遍历&方法总结
    总结数组遍历for+index【普通for循环】下标都是从0开始,到length-1结束。因此我们通过循环可以得到下标,而得到下标后,进而可以通过下标获取对应元素:数组遍历【将所有元素取出来就是遍历】//先打印数组arr所有下标for(inti=0;i<arr.length;i++){//i表示下标,循......
  • 重写方法总结
    总结方法覆写(重写/Override)方法覆写作用保证业务逻辑合理性方法覆写语法直接将父类中要重写的方法复制到子类后,重写方法体即可方法覆写注意事项并不是每一个继承过来的方法都要重写。并不是每一个子类都要重写父类继承过来的方法。super关键字在子类中的某一......
  • 包&封装&继承总结
    总结包package概念概念:简单的理解包就是一个文件夹。包作用①方便管理项目中的类等文件。②可以避免类名冲突的问题。使用包定义包包命名规范:一般是公司域名反写.项目名.模块名字.子模块名;要求:包名是全英文小写。packagecn.itsource.packagedemo;//声明包导入包......
  • 2023-2024-1 20231329 《计算机基础与程序设计》第14周学习总结
    作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP这个作业要求在哪里2022-2023-1计算机基础与程序设计第14周作业(https://www.cnblogs.com/rocedu/p/9577842.html)这个作业的目标《C语言程......
  • 2023-2024 20231313《计算机基础与程序设计》第十四周学习总结
    2023-202420231313《计算机基础与程序设计》第十四周学习总结作业速达作业课程班级链接作业要求计算机基础与程序设计第十四周学习总结作业内容《C语言程序设计》第13章并完成云班课测试作业正文我的作业目录教材总结总结学习过程中的问题《C语言程......
  • 四川大学网络空间安全学院暑期实训总结
    实习目的、要求:本次实训以网络与信息安全实用化人才培养体系为指导,以学生在校实际学习课程为理论基础,主要通过对各个网络安全漏洞原理的实际训练,使学生掌握基于云计算、WEB服务等方面的漏洞原理和利用方法。培养学生实际动手操作能力以及理论转化运用能力,除了基础理论......
  • 12.28每日总结2
    今天下午接着写软件企业文化的大作业市场推广 确定目标市场:首先,你需要确定你的目标市场是谁。考虑该技术最适合哪些行业或领域,并了解这些市场的需求和痛点。深入了解竞争环境:研究类似的软件技术是否已经存在,了解竞争对手的优势和劣势。这有助于你们找到与众不同的竞争优势,并确......
  • #1全职独立开发两周总结
    ......
  • java客户端访问nacos配置使用总结
    客户端访问nacos配置:父工程:com.alibaba.cloudspring-cloud-alibaba-dependencies2021.0.5.0pomimport子工程:<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</art......