说明:
Java oo的相关知识实在是太多了,甚至每个知识点都可以写一篇文章,这里介绍一些基础的和对应知识点提示。
概述:
1.类和对象
- Java万物皆是对象,旨在将世界中的概念模拟到计算机程序中,它将现实世界中的所有事物视为对象。
- 对象的描述是通过特征和行为来描述的,特征是对事物的静态描述,行为是对事务的动态描述。
- 对应到程序中就是特征就是属性(成员变量)和行为就是方法。
- 多个对象具有的相同特征和行为,我们将这样的特征和行为抽象出来,形成一个新的单元,这个单元称作是类。
- 类是具有相同属性和共同行为的一组对象的抽象集合。
- 类是面向对象程序设计中的基本单元。
- 对象是实体,而类是概念模型,用来定义对象的所有特征和行为。同一类的所有对象都拥有相同的特性和行为。
- 你我他都是真真实实存在的,而人类是对你我他这样的真实存在的实体的共有特征和行为的描述。
2.java oo
- 类的基本组成:成员变量、构造函数、方法
- 成员变量:成员变量定义在类中,与之对应的局部变量在某个代码块中,它的有效范围是当前所在代码块中
- 构造函数:默认构造方法和构造方法的重载
- 方法:方法的定义、方法参数传递机制、重载和重写、递归、动态参数
《Java入门 之 方法》 - 权限修饰符:public、protected、default、private
- 包的概念:主要是为了解决重名问题,java导入分为导入和静态导入
- 继承:java只支持单继承
- 封装
- 多态:体现在方法的重载和重写
- 抽象类和抽象方法
- 接口:对行为的声明
3.几个关键字
- this:指代当前对象自身,例如:this.name、this.show()等。
《Java入门 之 this》 - super:代表继承某些成员变量
- static:静态的 可以修饰成员变量、方法,也可用于静态代码块。
《Java基础 之 static》 - final:代表最终的 不可变化的,可用来修饰变量(常量)、参数、方法、类
《Java入门 之 final》 - extends:继承关键字 用在类名后面
- implements:实现接口关键字 用在类名后面
- abstract:用来修饰抽象类和抽象方法关键字
- interface:代表一个接口
package com.cxyapi.oo; /** 面向对象知识点总结 * @author cxy @ www.cxyapi.com */ public class OoTest1 { public static void main(String[] args) { /** * User是一个类(模子、模版、一个定义、设计图) * u1是一个对象(具体的实例、一个具体的user,而不仅仅是个概念) * 实例化相关的理解: * 1.new 后面跟构造函数 来实例化一个对象。 * 2.u1只是一个引用变量,它存放的是对象的地址,而不是对象本身。 */ User u1=new User("cxy"); u1.show(); //user的行为,介绍展示自己 } } /** 一个用户model,是一个类 一个模型 抽象的概念 *@author cxy @ www.cxyapi.com * 包括:Field-成员变量(属性,特征)、构造函数、方法(行为,操作) */ class User { /** 成员变量:名字 * 对于一个标准的JavaBean或者model来说应当 * 将成员变量设置成私有,然后对其生成getter、setter * 这也是保证封装行的体现 */ private String name; /** 构造方法 * 1.这个是带参数的构造方法。 * 2.系统默认提供一个不带参数的构造方法,但是如果定义了一个带参数的 那系统默认的构造方法就会失效。 * 3.this用法体现之一:参数和成员变量名字一样,这时候this指代的就是当前要构造的对象的name。 */ User(String name) { this.name=name; } //介绍自己 public void show() { //这里的this指代的就是当前调用show方法的这个对象,其实这里可以省略不写 System.out.println("大家好 我叫"+this.getName()); } public String getName() { return name; } public void setName(String name) { this.name = name; } }
声明:
1.原创文章,转载请标明并加本文连接。
2.文章反映个人愚见,如有异议欢迎讨论指正
3.更多的内容请看我的 个人博客(测试版)
相关推荐
内容概要:本文详细介绍了LabVIEW控件的设计与实现,尤其是一些由经验丰富的老工程师精心打造的控件。LabVIEW是一款图形化编程语言,广泛应用于数据采集、仪器控制和工业自动化领域。文中通过具体实例展示了如何利用LabVIEW创建美观且功能强大的控件,如滑动条、波形图、金属质感旋钮、动态波形图表以及智能选项卡等。作者强调了LabVIEW控件在灵活性和美观度方面的优势,并分享了许多实用的技术细节和优化方法。 适合人群:具有一定编程基础并希望深入了解LabVIEW控件设计的开发者和技术爱好者。 使用场景及目标:适用于需要进行高效的数据展示和交互设计的应用场景,如工业控制系统、实验室设备操作界面等。目标是帮助用户掌握LabVIEW控件的高级特性,提高开发效率和用户体验。 其他说明:文章不仅提供了具体的代码示例,还探讨了控件美学背后的设计理念和技术实现,鼓励读者探索更多可能性。
Delphi 12.3控件之unidac_10.4.0_d27pro.exe
11.盛趣自闭面(还是自己太菜).txt
58面经面试过程和题目.txt
电大操作系统课后习题解答
人工智能技术与应用演讲【61页PPT】
chromedriver-mac-arm64-135.0.7049.41.zip
内容概要:本文详细介绍了QPSK(四相移键控)调制方法及其在瑞利信道和高斯白噪声信道下的误码率(BER)性能分析。首先展示了QPSK星座图的绘制方法,接着构建了一个简化的QPSK发射机模型,用于将二进制比特流映射到相应的星座点。随后,分别实现了两种信道模型:高斯白噪声信道(AWGN)和瑞利信道,并解释了它们的工作原理以及如何向传输信号添加噪声。文中还提供了详细的误码率测试脚本,通过大量随机比特进行仿真,最终得到了不同信噪比条件下的误码率曲线。此外,作者还讨论了QPSK与其他调制方式如BPSK、16QAM之间的性能差异,强调了频谱效率与抗噪能力之间的权衡关系。 适合人群:对无线通信系统感兴趣的科研人员、研究生以及从事通信工程领域的工程师。 使用场景及目标:①帮助读者理解QPSK的基本原理及其在不同信道环境中的行为特性;②提供实用的Python代码片段,便于快速搭建仿真环境并验证理论结果;③探讨各种调制方式的选择依据,指导实际应用中的优化决策。 其他说明:文中多次提到‘骚操作’,意指一些巧妙但非传统的编程技巧,有助于提高代码执行效率或简化复杂度。同时提醒读者注意仿真过程中可能出现的问题,如
新建 Microsoft Word 文档 (9).docx
计算机科学与技术- 软件开发工具 培训资料
bitcount统计每个元素中设置的位数 B = bitcount(A) Counts the number '1' bits in each element B = bitcount(A, bitValue) "bitValue" = 1 = default = counts the occurance of '1' if bitValue = 0; counts the number '0' The total bits to verify is [8,16,32,or 64] based on the maximal value of A B = bitcount(A, bitValue, maxBits) the total # of bits to examine
MOM生产运营管理平台解决方案【35页PPT】
deli-数码录音电话机-HCD6238(28)P-TSD-使用说明书
Java项目基于ssm框架的课程设计,包含LW+ppt
Delphi 12.3控件之Tsilang 7.5.0.0 D12.7z
ios+UIButton分类+UIButton+UIButton图片文字位置
项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载
Java项目基于ssm框架的课程设计,包含LW+ppt
Delphi 12.3控件之TextEditorPro64.7z
尝试给OpenHarmony4.0增加可以在动态库中使用的日志模块 文章使用的资源,防止gitee资源丢失