目录
什么是对象?

特点:对象无处不在
案例一:

不同类别的对具有不同的静态特性和动态特征,如果将上面的信息存储再计算机中,该如何做?
总结:在编程中,对象(用来描述客观事物的一个实体,又一组属性和方法构成)的属性被存储在一些变量里,如可以将"姓名"存储在一个字符串类型的变量中。对象的行为则通过定义方法来实现,如“收款”,“打印账单”都可以定义一个方法;
什么是封装?

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

总结:类定义了对象将会有的特征(属性)和行为(方法);
类的属性:对象所拥有的静态特征在类中表示时成为类的属性。
类的方法:对象执行的操作成为类的方法。

注:类是对象的类型,事实上,定义类就是抽取同类实体的共性定义的一种数据类型;
创建:
类名 对象名 = new 类名();
使用:
对象名.属性 //引用对象的属性
对象名.方法名() //引用对象方法
- package oop;
-
- public class School {
-
- //属性
- String schoolName;//学校名称
- int classNum;//班级数量
- int labNum;//实验室数量
-
- //定义学校的展示方法
-
-
- public void showCenter(){
- System.out.println(schoolName+"大学"+classNum + "个班级"+",实验室的数量"+labNum);
- }
-
-
- public static void main(String[] args) {
- School school = new School();
- //给属性赋值
- school.schoolName="蓝翔";
- school.classNum=10;
- school.labNum=4;
- //调用方法
- school.showCenter();
- }
- }
1.信息隐藏,提高了程序的可维护性和安全性
2.与人类的思维习惯一致
3.提高了程序的重要性
1.方法的概述

语法:
方法:1.有参方法
- pubilc 返回值类型 方法名(参数列表)
- {
-
- //方法的主体
-
- }
2.无参方法
- public 返回值类型 方法名(){
-
- //方法的主体
-
- }
如果方法没有返回值,则返回类型为void
方法执行完后会返回一个结果,结果的类型为返回值类型,使用return语句。
注:方法名
1.以字母、下划线、美元开头;
2.后面可以接任意的字母、下划线、美元和数字
2.不能包含java关键字
案例:

类:
- package oop;
-
- public class AutoLion {
- //定义属性
- String color ="黄色";
-
- //跑方法
- public void run(){
- System.out.println("正在以0.1米/s的速度奔跑");
- }
-
- //叫方法
- public String bark(){
- String sound="大声叫吼";
- return sound;
- }
-
- public String getColor(){
- return color;
- }
-
- //新增显示狮子特性的方法
- public String showLion(){
- return "这是一个"+getColor()+"的玩具狮子";
- }
-
- }
主函数:
- package oop;
-
- public class Text {
- public static void main(String[] args) {
- AutoLion al = new AutoLion();//创建狮子对象
- System.out.println(al.bark());//调用叫的方法
-
- al.run();
- String info = al.showLion();//调用方法接收方法的返回值
- System.out.println(info);//显示类的信息
-
- }
- }

案例:
显示查找,查找学生姓名并且显示是否查找成功
- package oop;
-
- import com.sun.org.apache.bcel.internal.generic.NEW;
-
- import java.util.Scanner;
-
- public class Student {
-
-
- /**
- * 显示学生姓名的方法
- *
- * @param stuName 要显示的学生姓名,此处为方法形参
- */
- public void showStudent(String stuName) {
- System.out.println("输入学生的名字:" + stuName);
- }
-
- //显示查找区间,查找学生姓名并且显示是否查找成功
-
- //定义学生数组
- String[] stuName = {
- "张三", "李四", "王五", "赵六", "老王"
- };
-
- /**
- * @param start 开始位置
- * @param end 结束位置
- * @param name 姓名
- * @return
- */
- public Boolean searchName(int start, int end, String name) {
- //创建方法返回值
- boolean con = false;
- if (start >= 0 && end < stuName.length) {
-
- //循环查找
- for (int i = start; i <= end; i++) {
- if (stuName[i].equals(name)) {
- con = true;
- break;
- }
- }
- }
- return con;
- }
-
-
- public static void main(String[] args) {
- // Student student = new Student();
- // Scanner input = new Scanner(System.in);
- // System.out.println("请输入学生的姓名");
- // String name = input.next();
- // //调用方法并传入实参
- // student.showStudent(name);
-
- Scanner input = new Scanner(System.in);
- System.out.println("请输入开始查找的位置");
- int s = input.nextInt();
- System.out.println("请输入结束查找的位置");
- int e = input.nextInt();
- System.out.println("请输入结束查找的学生姓名");
- String name = input.next();
-
- Student stu = new Student();
- if(stu.searchName(s,e,name)){
- System.out.println("已经找到该学生");
- }
- }
- }



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

局部变量在方法内部,只供方法使用。
成员变量在类的内部,在类的方法中可以直接使用成员变量,在外部类,需要创建对象来调用。
能够从程序中来去抽取类,方法,成员等等的一些注释,去形成一个和源代码配套的API帮助文档
简单来说,就是介绍类,包括类方法以及下成员变量的文档
- /**
- *
- * JavaDoc注释
- * JavaDoc标签一般以@作为前缀
- *
- *
- * @author laoxue 表示作者名
- * @parameter 表示参数及其意义
- * @version 1.0 表示版本号
- * @throws //表示异常及其抛出的条件
- * @creater 2022年6月13日11:15;37
- *
- */
-
-
-
-
- public class Text {
- /**
- *定义成绩1
- */
- int score1 =80;
-
- /**
- *定义成绩2
- */
- int score2 = 70;
-
- /**
- * 计算总成绩
- * @return total
- */
- public int calaTotalScore(){
- int total = score1 + score2;
- }