• JavaOOP-类、对象、方法、变量作用域及JavaDoc注释


    目录

    对象

    类和对象的关系

    Java对象的创建和使用

    面向对象的优点

    方法

    无参方法

    带参方法

    常见问题一

     常见问题二

     常见问题三

    变量的作用域

     JavaDoc注释


    对象

    什么是对象?

     特点:对象无处不在

    案例一:

     不同类别的对具有不同的静态特性和动态特征,如果将上面的信息存储再计算机中,该如何做?

    总结:在编程中,对象(用来描述客观事物的一个实体,又一组属性和方法构成)的属性被存储在一些变量里,如可以将"姓名"存储在一个字符串类型的变量中。对象的行为则通过定义方法来实现,如“收款”,“打印账单”都可以定义一个方法;

    什么是封装?

     就是把一个事物包装起来,并尽可能隐藏内部细节

    总结:类定义了对象将会有的特征(属性)行为(方法)

    类的属性:对象所拥有的静态特征在类中表示时成为类的属性。

    类的方法:对象执行的操作成为类的方法。 

    类和对象的关系

     注:类是对象的类型,事实上,定义类就是抽取同类实体的共性定义的一种数据类型;

    Java对象的创建和使用

    创建:

    类名 对象名 = new 类名();

    使用:

    对象名.属性  //引用对象的属性

    对象名.方法名() //引用对象方法

    1. package oop;
    2. public class School {
    3. //属性
    4. String schoolName;//学校名称
    5. int classNum;//班级数量
    6. int labNum;//实验室数量
    7. //定义学校的展示方法
    8. public void showCenter(){
    9. System.out.println(schoolName+"大学"+classNum + "个班级"+",实验室的数量"+labNum);
    10. }
    11. public static void main(String[] args) {
    12. School school = new School();
    13. //给属性赋值
    14. school.schoolName="蓝翔";
    15. school.classNum=10;
    16. school.labNum=4;
    17. //调用方法
    18. school.showCenter();
    19. }
    20. }

    面向对象的优点

    1.信息隐藏,提高了程序的可维护性和安全性

    2.与人类的思维习惯一致

    3.提高了程序的重要性

    方法

    1.方法的概述

     语法:

    方法:1.有参方法

    1. pubilc 返回值类型 方法名(参数列表)
    2. {
    3. //方法的主体
    4. }

    2.无参方法

    1. public 返回值类型 方法名(){
    2. //方法的主体
    3. }

    如果方法没有返回值,则返回类型为void

    方法执行完后会返回一个结果,结果的类型为返回值类型,使用return语句。

    注:方法名

    1.以字母、下划线、美元开头;

    2.后面可以接任意的字母、下划线、美元和数字

    2.不能包含java关键字

    无参方法

    案例: 

     类:

    1. package oop;
    2. public class AutoLion {
    3. //定义属性
    4. String color ="黄色";
    5. //跑方法
    6. public void run(){
    7. System.out.println("正在以0.1米/s的速度奔跑");
    8. }
    9. //叫方法
    10. public String bark(){
    11. String sound="大声叫吼";
    12. return sound;
    13. }
    14. public String getColor(){
    15. return color;
    16. }
    17. //新增显示狮子特性的方法
    18. public String showLion(){
    19. return "这是一个"+getColor()+"的玩具狮子";
    20. }
    21. }

    主函数:

    1. package oop;
    2. public class Text {
    3. public static void main(String[] args) {
    4. AutoLion al = new AutoLion();//创建狮子对象
    5. System.out.println(al.bark());//调用叫的方法
    6. al.run();
    7. String info = al.showLion();//调用方法接收方法的返回值
    8. System.out.println(info);//显示类的信息
    9. }
    10. }

    带参方法

     案例:

    显示查找,查找学生姓名并且显示是否查找成功
    1. package oop;
    2. import com.sun.org.apache.bcel.internal.generic.NEW;
    3. import java.util.Scanner;
    4. public class Student {
    5. /**
    6. * 显示学生姓名的方法
    7. *
    8. * @param stuName 要显示的学生姓名,此处为方法形参
    9. */
    10. public void showStudent(String stuName) {
    11. System.out.println("输入学生的名字:" + stuName);
    12. }
    13. //显示查找区间,查找学生姓名并且显示是否查找成功
    14. //定义学生数组
    15. String[] stuName = {
    16. "张三", "李四", "王五", "赵六", "老王"
    17. };
    18. /**
    19. * @param start 开始位置
    20. * @param end 结束位置
    21. * @param name 姓名
    22. * @return
    23. */
    24. public Boolean searchName(int start, int end, String name) {
    25. //创建方法返回值
    26. boolean con = false;
    27. if (start >= 0 && end < stuName.length) {
    28. //循环查找
    29. for (int i = start; i <= end; i++) {
    30. if (stuName[i].equals(name)) {
    31. con = true;
    32. break;
    33. }
    34. }
    35. }
    36. return con;
    37. }
    38. public static void main(String[] args) {
    39. // Student student = new Student();
    40. // Scanner input = new Scanner(System.in);
    41. // System.out.println("请输入学生的姓名");
    42. // String name = input.next();
    43. // //调用方法并传入实参
    44. // student.showStudent(name);
    45. Scanner input = new Scanner(System.in);
    46. System.out.println("请输入开始查找的位置");
    47. int s = input.nextInt();
    48. System.out.println("请输入结束查找的位置");
    49. int e = input.nextInt();
    50. System.out.println("请输入结束查找的学生姓名");
    51. String name = input.next();
    52. Student stu = new Student();
    53. if(stu.searchName(s,e,name)){
    54. System.out.println("已经找到该学生");
    55. }
    56. }
    57. }

    常见问题一

     常见问题二

     常见问题三

     调用之后的返回值没有进行一个处理,语法上没有错,但程序设计上有错

    变量的作用域

    局部变量在方法内部,只供方法使用。

    成员变量在类的内部,在类的方法中可以直接使用成员变量,在外部类,需要创建对象来调用。

     JavaDoc注释

    能够从程序中来去抽取类,方法,成员等等的一些注释,去形成一个和源代码配套的API帮助文档

    简单来说,就是介绍类,包括类方法以及下成员变量的文档

    1. /**
    2. *
    3. * JavaDoc注释
    4. * JavaDoc标签一般以@作为前缀
    5. *
    6. *
    7. * @author laoxue 表示作者名
    8. * @parameter 表示参数及其意义
    9. * @version 1.0 表示版本号
    10. * @throws //表示异常及其抛出的条件
    11. * @creater 2022年6月13日11:15;37
    12. *
    13. */
    14. public class Text {
    15. /**
    16. *定义成绩1
    17. */
    18. int score1 =80;
    19. /**
    20. *定义成绩2
    21. */
    22. int score2 = 70;
    23. /**
    24. * 计算总成绩
    25. * @return total
    26. */
    27. public int calaTotalScore(){
    28. int total = score1 + score2;
    29. }

  • 相关阅读:
    基于Java毕业设计一中体育馆管理系统源码+系统+mysql+lw文档+部署软件
    二十四节气之处暑
    使用boost::serialization模块实现快速进制归档的测试程序
    什么是数据压缩?解释数据压缩的原理和不同的压缩算法
    Python异常「1」(异常的概念、异常捕获、异常的传递、自定义异常)
    2022流星雨,你的硬盘raw了吗?
    JavaScript /react 中new Map的用法
    c++编写天天酷跑游戏
    广通远驰亮相2022 C-V2X“四跨”(苏州)应用示范活动
    开启Link Time Optimization(LTO)后到底有什么优化
  • 原文地址:https://blog.csdn.net/m0_64005381/article/details/127128113