完整word版-实验05-类与面向对象编程(二).doc
【实验05-类与面向对象编程(二)】主要涉及Java编程中的面向对象特性,包括方法的调用、参数传递、方法重载、访问控制符、静态与非静态成员、main方法、命令行参数、递归、字符串操作以及类间的关系。以下是各个知识点的详细解释: 1. **方法的值传递**:在Java中,基本类型的参数是按值传递的,例如在`Shiyan5_1`类中,`max`方法的参数`max`在内部的改变不会影响到外部的`max`变量。 2. **main方法**:是Java程序的入口点,用于启动程序。`main`方法接收一个`String[]`类型的参数`args`,表示命令行参数,当程序运行时可以输入参数。 3. **方法的重载**:是指在同一个类中可以有多个同名的方法,但它们的参数列表必须不同(参数个数、类型或顺序不同)。 4. **访问控制符**: - `public`:公共的,可以在任何地方访问。 - `private`:私有的,只能在定义它的类内部访问。 - `protected`:受保护的,可以在同一包内或不同包的子类中访问。 - 缺省(没有修饰符):在同一包内可以访问。 5. **静态关键字**(`static`):静态成员属于类,而不是类的实例。这意味着它们在类加载时被初始化,可以被类名直接调用,无需创建对象。 6. **final关键字**:用于声明不可变的变量或方法,一旦赋值就不能改变。在类定义中,final可以修饰类(不可继承)、方法(不可重写)或变量(不可修改)。 7. **方法的递归调用**:在`Shiyan5_21`中,`add`方法需要通过递归实现累加功能,如果`n`等于1,则返回1,否则递归调用`add(n-1)`加上`n`得到结果。 8. **命令行参数**:在`Shiyan5_22`中,`main`方法接收`String[] args`作为参数,表示命令行输入的参数,可以根据这些参数进行相应的处理。 9. **静态方法与非静态方法**:静态方法是属于类的,非静态方法是属于对象的。在`Shiyan5_23`中,`check`方法去掉了`static`后,需要通过对象调用,修改`main`方法创建对象并调用相应的方法。 10. **引用传递与值传递**:在`Shiyan5_24`中,`increment`方法通过对象`co`对`count`属性进行操作,这是引用传递。而`times`作为基本类型参数是按值传递的,`increment`方法内部修改`times`不会影响到外部的`times`。 11. **奇偶数判断**:可以编写一个静态方法`isOdd`,接受一个整数,返回1表示奇数,0表示偶数。然后遍历1到100,调用此方法获取所有奇数。 12. **类A和类B**:在类A中实现求最大公约数的方法,在类B中声明一个类A的对象,并实现求最小公倍数的方法。B类的成员变量可以用来存储一个A类对象,以便调用A类的方法。 将静态方法改为非静态方法,需要通过对象调用,而不再能通过类名直接调用。这会影响程序的调用方式和运行效率,因为非静态方法需要先创建对象才能执行。 以上就是实验中涉及的主要知识点,理解并掌握这些概念对于进行面向对象的Java编程至关重要。在实际编程中,需要灵活运用这些知识点,结合具体场景进行设计和实现。
- 粉丝: 3820
- 资源: 59万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Java语言的实用型通知APP设计源码
- 基于Python、HTML、CSS的多语言apiIHRMTest设计源码
- 基于dotnet standard 2.0的SAEA.Socket高性能网络框架设计源码
- SublimeText 3 的 Golang 插件集合,提供代码完成和其他类似 IDE 的功能 .zip
- Sarasa Gothic , 更纱黑体 , 更纱黑体 , 更纱ゴshikku , 사라사 고딕.zip
- 基于Vue的刷脸支付系统及OEM定制设计源码
- tb_image_share_1733150361392.jpg.png
- Ruby 进程监视器.zip
- 基于Python、HTML、JavaScript、CSS的咖啡主题网站设计源码
- SimpleDiskAnalyzer.7z
评论0