Java基础01

方法

  1. 本质:可重复使用,可完成某个特定功能的代码片段
  2. Method(C语言中称函数)
  3. 方法定义在类体当中,在一个类当中可以定义多个方法,方法编写位置没有先后顺序,可以随意
  4. 方法体中不能再定义方法,方法体中的代码遵循自上而下的顺序依次执行
  5. 方法怎么定义,语法结构
    [修饰符列表] 返回值类型 方法名(形式参列表){
    ​ 方法体
    }
  6. 关于修饰符列表
  • 不是必须
  • 方法的修饰符列表当中有static关键字的话,怎么调用这个方法?
    • 类名.方法名(实际参数列表);
  1. 合法标识符就行,见名知意,首字母要求小写,后面每个单词首字母大写

  1. 自定义方法:不是程序入口
  2. 方法重载
  • 功能相似的时候,尽可能让方法名相同
    [但是:功能不同/不相似的时候,尽可能让方法名不同。]

  • 条件:

    在同一个类当中
    方法名相同参数列表不同:

    数量不同
    顺序不同
    类型不同

  • 方法重载和什么有关系,和什么没有关系

    方法重载和方法名+参数列表有关系
    方法重载和返回值类型无关
    方法重载和修饰符列表无关

  1. 方法递归
  • 耗费栈内存
  • 必须有结束条件,否则会发生错误:java.lang.SackOverflowError 栈内存溢出错误,JVM停止工作

类和对象

  • 什么是类

    类在现实世界当中是不存在的,是一个模板,是一个概念。
    是人类大脑思考抽象的结果
    类代表了类事物在现实世界当中,对象A与对象B之间具有共同特征,进行抽象总结出一个模板,这个模板被称为类

  • 什么是对象

    对象是实际存在的个体。现实世界当中实际存在。

  • 描述一下整个软件开发的过程:

    • 程序员先观察现实世界,从现实世界当中寻找对象,寻找了N多个对象之后,发现所有的对象都有共同特征程序员在大脑中形成了一个模板[类]
    • Java程序员可以通过java代码来表述一个类
    • Java程序中有了类的定义
    • 然后通过类就可以创建对象
    • 有了对象之后,可以让对象直接协作起来形成一个系统。

类—【实例化】—对象(实例) instance

对象—【抽象】—类

    • 属性:描述对象的状态信息
    • 方法:描述对象的动作信息
  • 定义类

    • 语法结构:【修饰符列表】 class 类名{ }

对象的创建和使用

  • 通过一个类可以实例化N个对象

  • 实例化对象的语法:new 类名 ();

  • new是java语言当中的一个运算符

  • new运算符的作用是创建对象,在JVM堆内存当中开辟新的内存空间

  • 方法区内存:在类加载的时候,class字节码代码片段被加载到该内存空间当中。

  • 栈内存(局部变量):方法代码片段执行的时候,会给该方法分配内存空间,在栈内存中压栈

  • 堆内存: new的对象在堆内存中存储

  • 引用:是一个变量,保存了另一个Java对象的地址(只能通过“引用”去服务呢堆内存当中对象内部的实例变量)

  • 访问实例变量的语法格式:

    • 读取数据:引用.变量名**(对象中的变量)**
    • 修改数据:引用.变量名=值
public class Main{
    public static void main(String[] args){
        int i = 10;
        Student s = new Student();
        s.age = 20;
        int stuAge = s.age;
      System.out.println("年龄"+stuAge);
    }
}

在这里插入图片描述

变量分类:

局部变量[方法体中声明]
成员变量[方法体外声明]

1.实例变量【前边修饰符没有static】
2.静态变量【前边修饰符中有static】
在这里插入图片描述

面向对象三大特征

  • 封装

  • 继承

  • 多态

封装

  • 好处

    • 封装之后,对于那个事物来说,看不到这个事物比较复杂的那一面,只能看到该事物简单的那一面。复杂性封装,对外提供简单的操作入口。照相机就是一个很好的封装的案例,照相机的实现原理非常复杂,但是对于使用照相机的人来说,操作起来是非常方便的是非常便捷的。还有像电视机也是封装的,电视机内存实现非常复杂,但是对于使用者来说不需要关心内部的实现原理,只需要会操作遥控器就行。
    • 封装之后才会形成真正的"对象”,真正的“独立体”
    • 封装就意味着以后的程序可以重复使用。并且这个事物应该适应性比较强,在任何场合都可以使用。
    • 封装之后,对于事物本身,提高了安全性。[安全级别高]
  • 步骤

    • 所有属性私有化,使用private关键字进行修饰,private表示私有的,修饰的所有数据只能在本类中访问。

    • 对外提供简单的操作入口,也就是说以后外部程序要想访问age属性,必须通过这些简单的入口进行访问

      • 对外提供两个公开的方法,分别是set方法和get方法
      • 想修改age属性,调用set方法
      • 想读取age属性,调用get方法
  • set方法的命名规范

public void setAge(int a){
    age=a;
}
  • get方法的命名规范
  public int getAge(){
    return age;
}
  • setter and getter方法没有static关键字
  • 有static关键字修饰的方法怎么调用: 类名.方法名(实参);
  • 没有static关键字修饰的方法怎么调用: 引用.方法名(实参);

JavaDoc注释

  • JavaDoc标签一般是以@作为前缀
  • @author Laoxue 表示作者名
  • @parameter 表示参数及其意义
  • @version 1.0 表示版本号
  • @throws //表示异常类及抛出的条件
  • @create 2022年6月13日11:15:37
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值