从给定文件:"java实验二2.pdf"和:"java实验二2.pdf"以及【部分内容】中,我们可以提取出以下Java编程知识点:
1. 类(Class)的定义和实例化:
文件中首先提到了类的定义,如类CCircle中包含了两个成员变量pi和radius,以及成员方法setCircle和getRadius。在主函数main中,创建了CCircle类的对象cir1,并调用了它的setCircle方法来设置半径和圆周率,然后输出了半径的值。这是Java面向对象编程中创建类的实例并调用方法的基本方式。
2. 构造方法(Constructor)的使用:
在Car类的定义中,Car被定义为一个包含name(名称)、speed(速度)和jiaodu(角度)三个成员变量的类。它有一个构造方法,该方法接受三个参数name、speed和jiaodu,用来初始化Car类的实例。构造方法在创建类的实例时会被自动调用,用于完成对新创建的对象的初始化。
3. 方法的定义和调用:
Car类中定义了几个成员方法,如changename、changespeed和changejiaodu,分别用来改变车辆的名称、速度和角度。这些方法在main函数中被调用,展示了如何在Java中定义方法并对其进行实例调用。
4. 控制流语句:
在main函数中,程序通过一系列方法调用来改变Car对象的属性,并最终调用stop方法使速度变为0。整个main函数演示了控制流的使用,如条件语句和循环语句在实际编程中的应用。
5. 类的封装(Encapsulation):
MyProgram类展示了封装的概念,通过私有成员变量(private)data和str来限制外部直接访问,而是通过公共的setter(setdata和setstr)和getter(getdata和getstr)方法来控制对私有成员变量的访问和修改。这种做法有助于保护对象的状态并防止外部代码随意修改对象内部的状态。
6. 方法重载(Method Overloading)和方法重写(Method Overriding):
在Bankaccount类中,有getleftmoney方法的两个定义,这是方法重载的示例,表示该类中存在同名但参数列表不同的方法。重载允许同一个类里有多个同名的方法,但它们的参数类型或数量不同。虽然本文档中没有直接的方法重写的例子,但这是Java面向对象编程的另一个重要特性,它允许子类重新定义父类的方法。
7. 对象和类之间的关系(Association):
文档提到了Bankaccount类的一个实例化对象ba,并在main函数中调用了savemoney和getmoney方法来对账户余额进行增加和提取。这说明了对象之间的关系,其中MyProgram类的一个实例持有Bankaccount类的一个实例,体现了Java编程中对象之间的关联性。
8. Java类库的使用:
Bankaccount类在创建对象时接收了两个参数,分别是账户编号(acc)和余额(leftmoney),这暗示了Bankaccount类可能继承自Java的某些内置类库。虽然在提供的片段中没有详细说明继承的具体实现,但这样的描述表明Java类库在实现特定功能时扮演着重要的角色。
9. 文件操作:
由于文档名为"java实验二2.pdf"且以技术资料作为标签,可以推测文档内容包含了对Java文件操作的讲解和示例。通常Java的文件操作涉及到IO(输入/输出)流,如FileReader,BufferedReader,FileWriter,BufferedWriter等类的使用,虽然这部分内容在提供的文档片段中没有明确显示,但它是Java程序中常用的文件处理技术。
10. 字符串操作:
在MyProgram类中,toStr方法通过对私有成员变量data和str进行处理并拼接,最终输出一个字符串。这展示了Java中字符串的拼接和转换操作,这是日常开发中常用的操作之一。
由于文档内容的不完整性以及OCR技术在转录时可能出现的错误,以上知识点是在现有信息的基础上提取和推测的,可能无法完全准确反映文件原始的内容。在处理实际编程任务时,还需要考虑代码的完整性和准确性,以及对Java编程语言更全面的理解。